我有一个ipv4地址和几个ipv6地址的服务器。 一个域被redirect到ipv4一个logging我设置了这样的Apache ports.conf:
Listen ip.v4.address:80 NameVirtualHost ip.v4.address:80
和虚拟主机文件:
<VirtualHost ip.v4.address:80> DocumentRoot /var/www/first/ ServerName first.domain ServerAlias www.first.domain ErrorLog ... CustomLog ... </VirtualHost>
一切正常。
现在我想为第二个域创build新的虚拟主机与第二个IP。 我将第二个域redirect到ipv6 AAAAlogging,添加到ports.conf中:
Listen [ip.v6.address]:80 NameVirtualHost [ip.v6.address]:80
创build新的虚拟主机文件:
<VirtualHost [ip.v6.address]:80> DocumentRoot /var/www/second/ ServerName second.domain ServerAlias www.second.domain ErrorLog ... CustomLog ... </VirtualHost>
并重新启动Apache。 服务器启动时没有错误,但不起作用。 当我在浏览器中input第二个域时,找不到服务器。 当我input[ip.v6.address]网站显示。
任何帮助?
您的apacheconfiguration看起来是正确的,但是如果您希望通过IPv4和IPv6(双协议栈)都可以访问一个站点,那么它的复杂性要稍微高一点。
代替
<VirtualHost ip.v4.address:80> ... </VirtualHost> <VirtualHost [ip.v6.address]:80> ... </VirtualHost>
你可以做
<VirtualHost ip.v4.address:80 [ip.v6.address]:80> ... </VirtualHost>
这样,单个虚拟主机监听两个IP地址。 维护起来要容易得多!
如果你真的想在IPv6上有不同的网站,那么你的configuration当然是正确的。
这听起来像是一个IPv6名称parsing错误,而不是一个Apache错误。 检查名称是否正确地parsing到地址。
名称是否parsing为正确的IPv6地址? 这似乎是域parsing中的问题。