我試圖只允許某個資料夾上的本機主機,它與 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]:8080
和Listen [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
阿帕奇文檔