![在 Apache2 上设置 IPv6](https://linux22.com/image/640431/%E5%9C%A8%20Apache2%20%E4%B8%8A%E8%AE%BE%E7%BD%AE%20IPv6.png)
目前我有包含以下内容的“ports.conf”:
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
Listen 443
NameVirtualHost *:443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
因此要添加 IPv6,我必须将其更改为:
NameVirtualHost 91.64.99.215:80
Listen 91.64.99.215:80
NameVirtualHost [2a01:4f8:140:54e4::3]:80
Listen [2a01:4f8:140:54e4::3]:80
<IfModule mod_ssl.c>
Listen 443
NameVirtualHost 91.64.99.215:443
NameVirtualHost [2a01:4f8:140:54e4::3]:443
</IfModule>
<IfModule mod_gnutls.c>
Listen 91.64.99.215:443
Listen [2a01:4f8:140:54e4::3]:443
</IfModule>
它是否正确?
我担心的是,如果我这样做,所有的虚拟主机都会像
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld
DocumentRoot /www/domain
</VirtualHost>
会发狂。如果不是这样,那么
<VirtualHost *:80 [*]:80>
ServerName www.domain.tld
ServerAlias domain.tld
DocumentRoot /www/domain
</VirtualHost>
还应使域名可通过 IPv6 访问吗?
我在这里有点困惑,无法从现有的“示例”中得出太多结论。如能提供任何帮助,我将不胜感激。
答案1
您只需将您的Listen
指令更改为:
Listen [::]:80
Listen [::]:443
虽然你的
NameVirtualHost *:80
<VirtualHost *:80>
保持不变。
注意:netstat -tln
将显示 apache 仅在tcp6
/上监听:::80
;这是正常的(它也会像以前一样响应 IPv4)