Apache 2.2 不會以 ipv6 位址啟動

Apache 2.2 不會以 ipv6 位址啟動

我試圖只允許某個資料夾上的本機主機,它與 ipv4 ( Allow from 127.0.0.1) 完美配合,但一旦我新增 ipv6 ( Allow from [::1]) 我的 Apache 將不再啟動。

我查了一下error.log,上面寫著:

指定的IP位址無效。

我已經輸入了沒有壓縮格式的 ipv6 位址,也不起作用。

我使用的是 Apache 2.2.25、Windows 8.1。我的計算機已啟用 IPv6。

答案1

僅在位址和可選連接埠號碼之間可能發生混淆的情況下才使用用方括號將 IPv6 位址括起來的表示法。

一個例子是在Listen指示。因為它可以指定位址和端口,所以必須添加括號以避免混淆:Listen 2001:db8::1:8080無效,因為它可能同時表示Listen [2001:db8::1]:8080Listen [2001:db8::1:8080]。括號使其明確。

為了Allow from指令情況並非如此。指定位址時,它始終是不帶連接埠號碼的位址。因此Allow from 2001:db8::1:8080永遠不會含糊。它始終是 IPv6 位址2001:db8::1:8080

如果省略括號(Allow from ::1),它應該可以工作。

答案2

您的虛擬主機 hev 的定義如下<VirtualHost *:80>,允許 ipv4 和 ipv6 存取。

此外,Apache 文件使用此格式進行 ipv6 限制: Allow from 2001:db8::a00:20ff:fea7:ccea 阿帕奇文檔

相關內容