整个部署过程分为: 1.启用服务器的ipv6支持 2.申请ipv6通道 3.开启nginx的ipv6地址监听
1.ubuntu上开启ipv6支持,需要修改几个地方
1.开启ipv6支持,/etc/sysctl.conf 确保有以下设置:
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
设置完毕后使用sysctl -p使设置生效 2.设置服务器的ipv6 dns服务器,/etc/network/interfaces 添加以下设置:
dns-nameserver 2001:4860:4860::8888
dns-nameserver 2001:4860:4860::8844
设置完毕后使用sudo resolvconf -u使设置生效 这样能够保证服务器在连接ipv6地址时有合适的dns服务器 测试:ping6 ipv6.google.com 如果能够ping通则表示已经设置成功
2.申请ipv6通道
因为我的服务器是没有分配ipv6地址的,所以需要去http://tunnelbroker.net申请ipv6的通道。 1.注册账号 2.邮箱激活 3.登录 4.create regular tunnel 5.输入你的服务器的ipv4地址,创建通道 6.在example configurations处选择操作系统,获取配置 7.在 /etc/network/interfaces中拷贝6中的配置 8.sudo resolvconf -u使配置生效 9.通过ifconfig查看是否设置成功,如果出现了ipv6的地址则表示成功
3.开启nginx的ipv6地址监听
在所有的站点配置文件中加上:
listen [::]:80
listen [::]:443
分别监听80端口和443端口(如果有https) 重启nginx即可。 通过http://ipv6-test.com/validate.php测试域名能否在ipv6下访问成功。如果是阿里云,那么有可能在IPv6 DNS server这一项上失败。因为阿里云的DNS服务器没有IPv6 DNS server。这种情况下,如果用户只有ipv6的环境,则会因为无法访问DNS服务器而失败