插件窝 干货文章 nginx监听ipv6

nginx监听ipv6

监听 配置 Nginx IPv6 654    来源:    2025-04-03

在Nginx中配置IPv6监听

要在Nginx中启用IPv6监听,您需要进行以下配置:

基本IPv6监听配置

  1. 编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/下的站点配置文件)

  2. 在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;

    # 其他配置...
}

注意事项

  1. 方括号语法:IPv6地址必须用方括号括起来,如[::]表示所有IPv6地址

  2. 双协议栈:建议同时保留IPv4和IPv6监听以确保兼容性

  3. 防火墙设置:确保防火墙允许IPv6流量通过指定端口

  4. 系统支持:确保操作系统已启用IPv6支持

检查配置

  1. 测试配置是否正确:
sudo nginx -t
  1. 重新加载Nginx:
sudo systemctl reload nginx

验证IPv6监听

使用以下命令检查Nginx是否正在监听IPv6端口:

netstat -tulnp | grep nginx
# 或
ss -tulnp | grep nginx

您应该能看到类似这样的输出,包含tcp6条目:

tcp6   0   0 :::80    :::*    LISTEN    1234/nginx: master

常见问题解决

如果IPv6无法正常工作:

  1. 检查系统IPv6支持:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6

如果返回1,表示IPv6被禁用

  1. 确保网络接口配置了IPv6地址:
ip -6 addr show
  1. 检查DNS记录是否配置了AAAA记录(IPv6记录)