阿里云针对苹果官方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。

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

注意!

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

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

如图所示:

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

2.点击创建即可:

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

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

aliasnet-pf-10off  将本行注掉

optionsipv6 disable=1 改为 optionsipv6 disable=0

2.# vi /etc/sysconfig/network

NETWORKING_IPV6=no 改为 NETWORKING_IPV6=yes

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

IPV6INIT=no 改为 IPV6INIT=yes

IPV6_AUTOCONF=no 改为 IPV6_AUTOCONF=yes

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

# chkconfig ip6tables on

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

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

输入ifconfig查看ipv6的信息

# ifconfig | grep -i inet6

详情参考:

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

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

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

时间: 2024-10-08 20:03:44

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

用尽洪荒之力解决Apple Store ipv6审核通关---linux服务器支持ipv6

强势的库克时代到来,苹果开启了强制IPV6审核,大家也知道中国现在的情况,除了教育网实验性的支持IPV6,ISP运营商还不支持,想必大家都陆陆续续的遭受到了苹果无情的拒绝,以前开个加急,审核时间也就一天,快的话2小时就可以过,而现在一次又一次的拒绝,让国内开发者苦不堪言.不过聪明的中国人,不会被这样的问题打倒的,中国有句古话叫道高一尺,魔高一丈.公司的两个APP在经过两轮苹果残忍拒绝后,在7月底还是审核通过了.在此跟大家分享一下审核通关的经验.最近看大家都在聊ipv6审核,有的运气好,没做任何改

cocos2dx解决苹果正版ipv6的问题

苹果官方出了新的规定,要求新上架的app都必须单独支持ipv6-only的网络. 具体的要求链接:https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.htm

iOS IPv6兼容支持和IPv6审核被拒收集整理

iOS IPv6兼容支持和IPv6审核被拒收集整理 最近遇到一个大坑:IPv6审核被拒问题,于是广寻解决方案,先把一些可以用资料文档收集起来备用.也希望同行能用得着. 官方文档说明:Supporting IPv6 DNS64/NAT64 Networks 官方关于支持IPv6的网络的开发指引文档 iOS-用手机网络测试Ipv6 用一台Mac,2个iPhone手机,1个数据线搭建本地IPv6测试网络环境 iOS应用支持IPV6,就那点事儿 参考官方文档的一些原理中文说明 专业处理AppStore审

苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)

对于提交的苹果官方的app,在审核的时候会给我们一些crash文件,对于这些有用的文件,里面是关于我们的bug的一些信息,那么该如何去调试呢 第一步:在任意目录创建一个目录,用来调试crash,我这里创建一个crash目录 第二步:将之前Archive的文件copy到crash目录里面 其中包括两个文件.app和.app.dSYM 如果找不到的话可以按照下面的步骤进行 先到Organizer 1,找到提交那个时刻的Archive文件,选中,show in Finder 2,然后到达这里,然后再选

ios局域网联机—苹果官方源码之WiTap剖析(一)(二)

http://www.it165.net/pro/html/201204/2094.html http://www.it165.net/pro/html/201204/2165.html 在过去的时间里,我一直在考虑的事情是,我该写一篇什么样的文章呢?之前的两篇文章都是先有问题,然后我才有目的的解决问题,现在我的困扰是,我不知道该写什么了呵呵.因为其实,大多数的问题,只要在网上搜索一下(google远比baidu要强得多),基本上都能找到解决的办法,已经有了许多相关方面的教程或参考资料了,我并不

苹果商店应用审核指南(2014年翻译版)

官方文档地址 苹果商店应用审核指南 前言 非常高兴您能付出宝贵的时间和精力来开发iOS应用.成千上万的开发者的经历表明,无论从专业技术还是经济收入上,开发iOS应用都是个有意义的事情,我们将帮助你更快成功,成为其中的一员.这篇App Store Review Guidlines主要是为了协助你弄清楚开发过程中会遇到的一些疑惑,加快你提交应用后的审核过程. 我们认为应用不同于书籍和歌曲,我们不支持这些.如果你要讨论宗教信仰,那么应该去写书.如果你要谈论性,那么写书,或者去写歌,或者去做一个生理卫生

艾尔战记 手游账号交易【苹果官方】艾尔战记苹果区原14区弓手 V11 64W战力-淘手游

艾尔战记 手游账号交易[苹果官方]艾尔战记苹果区原14区弓手 V11 64W战力-淘手游 商品ID:2663117 所属游戏:艾尔战记 客户端:苹果官方 适用系统:IOS 商品类型:账号 服务器:全部区服 绑定邮箱:未绑定 绑定手机号:已绑定 绑定身份证:已绑定 角色职业:蕾娜弓箭手 角色等级:86 VIP等级:11 战斗力:640992 骑宠描述:开通到冰龙 装备描述:光武三攻5330初始.+29 账号亮点:钻石还比较充足

Welcome to Swift (苹果官方Swift文档初译与注解三十五)---248~253页(第五章-- 函数 完)

Function Types as Return Types (函数类型作为返回值类型) 一个函数的类型可以作为另一个函数的返回值类型.可以在一个函数的返回值箭头后面写上一个完整的函数类型. 例如: 下面的例子定义了两个简单的函数,分别为stepForward 和 stepBackward.其中stepForward函数返回值比它的输入值多1,stepBackward函数返回值比它输入值少1.这两个函数的 类型都是(Int) -> Int: func stepForward(input: Int

Welcome to Swift (苹果官方Swift文档初译与注解二十七)---189~198页(第四章-- 流程控制)

Switch 一个switch语句里包含一个值,并且用这个值与其他几个可能的匹配模式进行比较,然后根据成功匹配上的模式,执行相应的代码块.switch语句提供了比if语句更多的选项来相应多种潜 在的情况. 最简单的一个例子: switch some value to consider { case value 1:   respond to value 1 case value 2, value 3:   respond to value 2 or 3 default:   otherwise,