要在Nginx中启用IPv6监听,您需要进行以下配置:
编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf
或/etc/nginx/sites-available/
下的站点配置文件)
在server块中添加IPv6监听指令:
server {
listen [::]:80; # IPv6监听80端口
listen 80; # 同时保留IPv4监听
# 其他配置...
}
server {
listen [::]:80;
listen 80;
# 对于SSL/TLS配置
listen [::]:443 ssl;
listen 443 ssl;
server_name example.com;
# 其他配置...
}
方括号语法:IPv6地址必须用方括号括起来,如[::]
表示所有IPv6地址
双协议栈:建议同时保留IPv4和IPv6监听以确保兼容性
防火墙设置:确保防火墙允许IPv6流量通过指定端口
系统支持:确保操作系统已启用IPv6支持
sudo nginx -t
sudo systemctl reload nginx
使用以下命令检查Nginx是否正在监听IPv6端口:
netstat -tulnp | grep nginx
# 或
ss -tulnp | grep nginx
您应该能看到类似这样的输出,包含tcp6
条目:
tcp6 0 0 :::80 :::* LISTEN 1234/nginx: master
如果IPv6无法正常工作:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
如果返回1,表示IPv6被禁用
ip -6 addr show