Apache 2.2不会以ipv6地址开始

我试图只允许在一个特定的文件夹上的本地主机,它适用于ipv4( Allow from 127.0.0.1 ),但只要我添加ipv6Allow from [::1] ),我的Apache不会再启动了。

我检查了error.log ,它说:

指定的IP地址无效。

我已经input了没有压缩格式的ipv6地址,也没有工作。

我正在使用Apache 2.2.25,Windows 8.1。 IPv6在我的电脑上启用。

只有在地址和可选端口号之间可能存在混淆的情况下,才会使用括号括起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 ),它应该工作。

你的虚拟主机hev被定义为这个允许ipv4和ipv6访问的<VirtualHost *:80>

此外,Apache文档使用这种格式的ipv6限制: Allow from 2001:db8::a00:20ff:fea7:ccea Apache文档