开发者社区> 李世龙ing> 正文

阿里云针对苹果官方ipv6审核的综合解决方案

简介: 前言 因业务需求 公司APP需要在ios系统上运行需要改系统ipv6 2016年6月1号之后苹果应用上传AppStore审核要求全面支持ipv6,虽然只是一个简单的审核要求,但却给中国区的开发者带来了不小的麻烦,因为众所周知的原因,国内的IPV6支持的比较差,所以包括ipv6环境测试在内的ipv6适配要求,着实是需要有一套解决方案。
+关注继续查看

前言


因业务需求 公司APP需要在ios系统上运行需要改系统ipv6


2016年6月1号之后苹果应用上传AppStore审核要求全面支持ipv6,虽然只是一个简单的审核要求,但却给中国区的开发者带来了不小的麻烦,因为众所周知的原因,国内的IPV6支持的比较差,所以包括ipv6环境测试在内的ipv6适配要求,着实是需要有一套解决方案。这里都是废话,下面就自己的解决方案开始做方案介绍。

代码层支持

按照苹果官方要求做iOS代码适配ipv6,这里涉及到了跟网络相关的第三方库的时候,按照我自己的经验,做如下解释:

1.Afnetworking ~3.1.0。(3.0.x版本正常都是支持ipv6的)

2.SDWebImage ~3.8.1。

基本的代码层根据苹果官方的要求做配置就好。对于socket支持,由于最近上线的项目里没有用到socket,需要做socket层支持的自己去苹果官方查适配ipv6要求。

服务器支持

1.给域名添加一条AAAA解析(当您希望访问者通过 IPv6地址 访问您的域名时,可以使用AAAA记录,即用来指定网站域名对应的IPv6地址记录),如果是www的域名,则AAAA解析名为www,值为当前域名的ipv6DNS地址。详情:阿里万网IPV6AAAA解析

2.更改服务器ipv6配置,这里想说明一下,这次的苹果强制要求ipv6兼容,阿里云无辜背了黑锅,其实能不能审核通过或者说ipv6环境下阿里云能不能访问跟阿里云支不支持ipv6没有一毛钱关系。用阿里云而ipv6审核没有通过的原因是服务器环境没有配置ipv6,或者根本就是有的服务器为了节省性能将ipv6直接给禁掉了。所以查看服务器中ipv6的配置,看是否允许ipv6。

苹果上架要求:要求支持IPV6only(因为阿里云主机没有IPV6only)

确认IPV6是否开启:


登录阿里云服务器终端,进入/etc/modprobe.d/ipv6off.conf(不同的服务器这里命名可能会有差别,可以先到这个目录看一下跟ipv6相关的配置文件,然后再vim打开)

  1. # vim /etc/modprobe.d/ipv6off.conf 或者 

  2. wKioL1mOciiRiCWPAAAD-OR2e2g234.png

aliasnet-pf-10off  将本行注掉

optionsipv6 disable=1 改为 optionsipv6 disable=0

wKiom1mOckiBxoQdAAAEO400Uvs400.png

2.# vi /etc/sysconfig/network

NETWORKING_IPV6=no 改为 NETWORKING_IPV6=yes

wKiom1mOcl2Rxx9qAAALIVBw_mk718.png

3.# vi /etc/sysconfig/network-scripts/ifcfg-eth0

IPV6INIT=no 改为 IPV6INIT=yes

IPV6_AUTOCONF=no 改为 IPV6_AUTOCONF=yes

wKiom1mOdJ2iShCbAAAK-9iWXYw319.png

4以上已经开启ipv6,所以要进行一下安全设置,设置开机自启动ipv6防火墙

# chkconfig ip6tables on

至此,ipv6的服务器端支持已经完成,重启服务器测试ipv6是否已经支持,重启后:

# lsmod | grep ipv6   如果有输出则已经支持ipv6

输入ifconfig查看ipv6的信息

wKiom1mOcwqgwBIyAAAEI_l2_Ds994.png

# ifconfig | grep -i inet6

wKioL1mOcz_SvJ1uAAAJyjSCb6Q440.png

方式1:使用ifconfig查看自己的IP地址是否含有IPv6地址。

wKiom1mOqhezSK-2AABVkWuLexQ906.png-wh_50

wKiom1mOqibivXB1AAAsibn8xUo412.png-wh_50

方式2.查看服务监听的IP中是否有IPv6格式的地址。(netstat -tuln)

wKioL1mOqo7hsNaEAAAe14GhH64003.png-wh_50


开启IPV6:

vim /etc/sysctl.conf

wKiom1mOqtGyp4aYAAAQJSTen2E147.png-wh_50

vim /etc/modprobe.d/disable_ipv6.conf

wKiom1mOqw6jr1GzAAAHB_i4kyQ245.png-wh_50

vim /etc/sysconfig/network

wKiom1mOq1Wz8Qt4AAAOJQAKG8o011.png-wh_50

至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6,重启后, ifconfig查看ipv6的信息,有看到有关IPV6的输出就可以


wKiom1mOq6Gz74ViAAAObHtn1Hg749.png-wh_50


此处以阿里云为例进行说明:

注意!

首先,到 https://www.tunnelbroker.net/ 注册一个账户,然后登陆,戳   Create Regular Tunnel 。IPv4 Endpoint (Your side) 这里填你 ECS 的内网 IP 地址, Available Tunnel Servers 这里选一个,一般来说 HK 离大陆近延迟低,不过最近 HE.net 的香港似乎都是绕了一圈美国回来的,所以延迟反而很高,这个看自己情况选就好。然后戳 Create Tunnel ,就完成了。

wKiom1mOmuqDPWIoAACG7iV9eRM057.png-wh_50

wKioL1mOmwHzSxKjAABR73Pw0qY453.png-wh_50

wKioL1mOmw-DZlfrAAA1J2GuPME007.png-wh_50

之后点击Create Regular Tunnel 添加自己的内网ip如:65.11.12.13

如图所示:


1.添加内网地址选项服务:

wKiom1mOnRmBtFiBAACpcLhZxPo668.png-wh_50

2.点击创建即可:

wKioL1mOnSjRYBLHAABTRdjHWs8177.png-wh_50

wKiom1mOqKThXx8OAACaPO964sc910.png-wh_50

3.复制粘贴以上命令

wKioL1mOrSXj0LViAABMQy2WZwA715.png

4.测试ipv6

wKioL1mOrZngOVjfAAAdoHoemhs666.png-wh_50


添加ipv6的dns服务器,在最后添加nameserver 2001:4860:4860::8888,nameserver 2001:4860:4860::8844谷歌的ipv6 dns服务器


# vim /etc/resolv.conf
options timeout:1 attempts:1 rotate
nameserver x.x.x.x
nameserver x.x.x.x
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844



# ping6 -c 5 ipv6.google.com
PING ipv6.google.com(tsa03s01-in-x0e.1e100.net) 56 data bytes64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=1 ttl=55 time=25.5 ms64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=2 ttl=55 time=25.5 ms64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=3 ttl=55 time=33.1 ms64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=4 ttl=55 time=25.5 ms64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=5 ttl=55 time=25.4 ms--- ipv6.google.com ping statistics ---5 packets transmitted, 5 received, 0% packet loss, time 4031ms
rtt min/avg/max/mdev = 25.473/27.040/33.180/3.073 ms

注意:上例xxx.xxx.xxx.xxx地址是阿里云的内部IP

5)代码到服务器执行(如果想开机自动执行,可以修改/etc/init.d/network,把粘贴的代码加到start中) 


四、 解析AAAA到(请到您的域名提供商后台做相应操作) 
阿里云是支持这种解析的,但dns会报错,经测不影响appstore审核,ipv6的地址就是上一步中申请的ip 2006:781:48:555::2 
注意去掉ip地址末尾的”/64” 
wKioL1mQ-taTzMXyAACb-VxycNI465.png-wh_50

五、 nginx监听ipv6 
编辑/etc/nginx/conf.d/default.conf,将server段的listen语句修改如下 
listen 80; 
listen [::]:80 ipv6only=on;

六、 测试

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

如图所示全部通过

wKioL1mQ-yjTFajnAAAnQ74uTdw529.png-wh_50

方法2.http://www.subnetonline.com/pages/network-tools/online-port-scanner.php

wKiom1mOr3HTNYlVAABHhE8IvyI078.png

详情参考

阿里云:通用 CentOS 服务器安全配置指南

腾讯云: 在centos服务器上启用ipv6地址

腾讯:centos操作系统云主机开启ipv6方法



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云发布无影教育行业解决方案,打造数字化时代终生学习空间
打造永不过时、更好运维、弹性部署、随时教学、终生可用的数字化学习空间,目前已在全国100多所中小学,浙江大学、华东师范大学等高校,火星教育等职业培训学校落地。
34 0
阿里云发布「云盒+无影」云端机顶盒解决方案,打造云边端一体化的机顶盒新模式
近日,阿里云发布了基于「云盒+无影」的云端机顶盒解决方案,帮助广电企业在三网融合时代打造云、边、端一体化的机顶盒新模式,帮助其在不更换旧机顶盒的情况为家庭用户提供全新的应用服务;同时,以“中心 Region 云+云盒”的分布式云形式加速创新业务的拓展,提升用户的家庭娱乐体验。
124 0
阿里云推全新IoT解决方案 可帮消费电子应用开发效率提升70%
低算力也可以富应用,阿里云全新云端一体IoT解决方案助消费电子智能升级!
183 0
2022云优化论坛 | 阿里云发布云上成本管理解决方案白皮书,助力企业经济用云
2022年12月14日,由中国信息通信研究院和中国通信标准化协会联合主办的“2022首届云优化创新发展论坛”通过线上方式成功召开。本届论坛以“更经济·更高效·更深度”为主题,会上阿里云计算有限公司产品专家王奇能发表了《云上成本管理,通过FinOps实现经济用云》的演讲,对业财一体化和FinOps理念实践经验做出了分享。
88 0
降本增效|微财引入阿里云瑶池数据库Serverless备份解决方案,最高可节省50% IT成本
微财也是金融行业首个大规模应用云数据库RDS Serverless的企业。
62 0
《阿里云数据库解决方案合集》电子版地址
今年Gartner提出“There Is Only One DBMS Market”理念,将OPDBMS(事务处理)和 DMSA(管理与分析)融合为统一的 Cloud Database ManagementSystem (Cloud DBMS),以前所未有的全面性覆盖数据管理与分析领域的各个侧面,并融入了云计算的发展趋势。
16 0
阿里云国际版CDN解决方案-适用于任何内容类型加速分发的基础云服务
阿里云内容分发网络CDN(Alibaba Cloud Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络。阿里云CDN能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度
80 0
《阿里云网络产品概览-五大场景,解决方案和应用案例》电子版地址
阿里云网络产品概览-五大场景,解决方案和应用案例
27 0
《云开雾散——阿里云工业大数据应用解决方案》电子版地址
云开雾散——阿里云工业大数据应用解决方案
44 0
+关注
李世龙ing
架构师 售前工程师 产品经理 运维开发
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Elastic与阿里云合作宣传信息白皮书
立即下载
阿里云&信通院《Serverless数据库技术研究报告》
立即下载
降本增效,阿里云数据治理Workshop上海站
立即下载