阿里云centos6.8开启ipv6通过appstore审核的方法

最近公司有app要上架到appstore,由于app中嵌入了h5页面,在审核的时候ipv6没有通过。因为服务端没有支持ipv6这种协议,阿里云默认又是关闭ipv6,国内现在的云服务商并没有支持ipv6的。不费话,下面看我的解决方法吧。

一、开启服务器的ipv6支持

1.修改/etc/sysctl.conf中ipv6的配置,如下

2.修改/etc/modprobe.d/disable_ipv6.conf的配置,如下

3.修改/etc/sysconfig/network的配置(没有则添加),如下

4.修改/etc/sysconfig/network-scripts/ifcfg-eth0(根据自己的服务器网卡选择对应的文件),如下:

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)代码到服务器执行(如果想开机自动执行,可以修改/etc/init.d/network,把如下代码加到start中)

6)ping6 ipv6.baidu.com看一下是否能ping通,如果可以就说明OK了哦

三、解析AAAA到(请到您的域名提供商后台做相应操作)

阿里云是支持这种解析的,但dns会报错,经测不影响appstore审核,ipv6的地址就是上一步中申请的ip 2003:581:48:565::2

四、nginx监听ipv6

这一步最简单,直接在server中加上下面代码就可以了(如果https有分开配置,也要记得加哦listen       [::]:443 ipv6only=on ssl;)

五、测试

http://ipv6-test.com/validate.php在这个网址中输入你的域名就可以了,只要下面两项可以过就可以提交app审核了:

AAAA DNS record

IPv6 web server

已经有大神提供了ubuntu的配置方法,需要请拿走https://ilazycat.com/posts/2016/12/aliyun-ecs-ipv6-configuration.html

踩过的坑:
1.修改了配置后,一定要重启服务器,不然不会生效
2.he不够稳定,有时候会出现web server is unreachable : Connection timed out这个错误,解决方法是,自己写一个定时脚本ping指定网址,如ping6 ipv6.baidu.com
3.阿里云服务器,需要把he中的外网ip替换成你的内网ip

8 thoughts on “阿里云centos6.8开启ipv6通过appstore审核的方法

  1. .阿里云服务器,需要把he中的外网ip替换成你的内网ip 这一条没有改成内网ip地址也可以

    应该是和 修改/etc/sysconfig/network-scripts/ifcfg-eth0(根据自己的服务器网卡选择对应的文件),如下: 有关系 如果是eth1 就是外网。。

  2. 1、ping6 ipv6.baidu.com
    我运行这个的时候报这个错:
    From happyGirl-1-pt.tunnel.tserv11.ams1.ipv6.he.net icmp_seq=1 Destination unreachable: Address unreachable
    不知为什么,求解
    2、还有这个“3.阿里云服务器,需要把he中的外网ip替换成你的内网ip”是什么意思

    • 第一个问题应该是你的网络还没有通,检查一下前面的几个配置是否OK
      第二个问题是因为阿里云的特殊情况,需要把外网IP换成你的内网Ip,如192.168.1.8

  3. 2.he不够稳定,有时候会出现web server is unreachable : Connection timed out这个错误,解决方法是,自己写一个定时脚本ping指定网址,如ping6 ipv6.baidu.com

    — 这个坑真没有其他办法可以解决吗?如果是,求脚本和方法,谢谢。

    • 检查一下你是否有开启ipv6

      sysctl -a | grep bindv6only # check if it's 0 then
      vim /etc/sysctl.conf (editing to provide the content "net.ipv6.bindv6only = 1")
      sysctl -p

你的评论是对我最大的鼓励