在 Nginx web 中启用 IPv6

我知道我晚了,只是...启用 IPv6 我也体验不到罢了。

找找自己服务器有没有 IPv6,正常可能会达到几个,毕竟 IPv6 足够低价,就连 3 美元的 VPS 都可能附带 3 个 IPv6 地址。

输入命令: ip -6 addr showifconfig | grep inet6 查看系统里的 IPv6 地址。

www我不怕泄露 IP 地址,因为我没隐藏地址...

# ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2607:f130:0:d7::c20/64 scope global deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 2607:f130:0:d7::bff/64 scope global deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 2607:f130:0:d7::c52/64 scope global deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 fe80::216:3eff:fedb:329d/64 scope link 
       valid_lft forever preferred_lft forever

# ifconfig |grep inet6
        inet6 fe80::216:3eff:fedb:329d  prefixlen 64  scopeid 0x20<link>
        inet6 2607:f130:0:d7::bff  prefixlen 64  scopeid 0x0<global>
        inet6 2607:f130:0:d7::c20  prefixlen 64  scopeid 0x0<global>
        inet6 2607:f130:0:d7::c52  prefixlen 64  scopeid 0x0<global>
        inet6 ::1  prefixlen 128  scopeid 0x10<host>


更改 Nginx 配置文件,添加新 listen 后面增加 [::]: ,如没特殊需求后续内容和 IPv4 相同。

server { 
         listen  80 fastopen=3;
         listen  [::]:80 fastopen=3;
   ...
}
server {
     # Enable HTTP/2 ssl 443  
     listen 443 ssl http2 fastopen=3;
     # Enable HTTP/2 IPv6 port 443 
     listen [::]:443 ssl http2 fastopen=3;.
}

保存配置文件,重启不管用,关闭 Nginx nginx -s stop 后启动 Nginx (嗯姆 我的命令是这样),前往域名 DNS 管理处更新设置,添加新的 AAAA 记录指向 IPv6 IP 地址。

通过IPv6 测试页面Is your site IPv6 ready?检查网站能否通过 IPv6 访问,不过这些只是辅助,建议真人实测。

我还是体验不到,几年过去了中国大陆还没有普及 IPv6,我没法测试 IPv6 访问状态只得找其他人。

最后由 BlueBlue_Master 编辑

好强...我什么都看不懂...QwQ