一、阿里云ecs服务器配置(centos系统)
1、修改/etc/sysctl.conf中ipv6的配置,如下
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
2、修改/etc/modprobe.d/disable_ipv6.conf的配置,如下
#alias net-pf-10 off <wbr>
options ipv6 disable=0
3、修改/etc/sysconfig/network的配置(没有则添加),如下
NETWORKING_IPV6=no
4、修改/etc/sysconfig/network-scripts/ifcfg-eth0(根据自己的服务器网卡选择对应的文件),如下:
IPV6INIT=yes
IPV6_AUTOCONF=yes
5、做完以上步骤以后记得要重启服务器(线上环境,注意不要影响业务哦),然后ifconfig看一下你的服务器网卡信息中有没有inet6的字样,如果有就说明开启ipv6成功了
二、注册he账号,并生成一个tunnel,这是网址:https://www.tunnelbroker.net/
1、创建tunnel
1)登录后点击左侧的Create Regular Tunnel
2)输入你的服务器公网ip
3)选择一个延迟比较低的服务器,可以自己ping一下
4)选择Example Configurations->linux-route2
5)服务器执行以下代码
modprobe ipv6
ip tunnel add he-ipv6 mode sit remote x.x.x.x local 192.168.1.116 ttl 255
ip link set he-ipv6 up
ip addr add x:x:c:17c::x/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr
6)ping6 ipv6.baidu.com看一下是否能ping通,如果可以就说明OK了哦
三、解析AAAA到(请到您的域名提供商后台做相应操作)
阿里云是支持这种解析的,但dns会报错,经测不影响appstore审核,ipv6的地址就是上一步中申请的ip x:x:x:x::2
四、nginx监听ipv6
这一步最简单,直接在server中加上下面代码就可以了(如果https有分开配置,也要记得加哦listen [::]:443 ipv6only=on ssl;
)
listen [::]:80;
五、测试
http://ipv6-test.com/validate.php在这个网址中输入你的域名就可以了,只要下面两项可以过就可以提交app审核了:
AAAA DNS record
IPv6 web server
备注:
1、修改了配置后,一定要重启服务器,不然不会生效
2、he不够稳定,有时候会出现web server is unreachable : Connection timed out这个错误,解决方法是,自己写一个定时脚本ping指定网址,如ping6 ipv6.baidu.com
3、阿里云服务器,需要把he中的外网ip替换成你的内网ip
4、关闭ipv6防火墙 service ip6tables stop