最佳实践:使用负载均衡SLB IPv6搞定苹果AppStore审核

maoer · · 691 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

摘要: 1.Greetings HI,大家好,我是负载均衡SLB产品经理添毅,今天我们来聊一聊苹果的IPv6审核,以及使用阿里云负载均衡SLB(IPv6)搞定AppStore IPv6审核。 2.Appstore IPv6审核是什么 由于国外的IPv6发展起步较早,因为在世界上可能已经存在一些IPv6 Only的网络环境了,所谓IPv6 Only就是指仅具有IPv6地址的互联网环境,苹果为了保证这些IPv6 Only的用户也能够顺利的使用苹果的服务和AppStore上的App,因此要求从2016年6月1日起,所有上架AppStore的应用必须支持IPv6-only网络。 1.Greetings HI,大家好,我是负载均衡SLB产品经理添毅,今天我们来聊一聊苹果的IPv6审核,以及使用阿里云负载均衡SLB(IPv6)搞定AppStore IPv6审核。 2.Appstore IPv6审核是什么 ![ef1fb672f60725542f27fb957217c81ba76a108a.png](https://static.studygolang.com/180702/1367eaa8cf632adc0ea24570027516de.png) 由于国外的IPv6发展起步较早,因此在世界上可能已经存在一些IPv6 Only的网络环境了,所谓IPv6 Only就是指仅具有IPv6地址的互联网环境,苹果为了保证这些IPv6 Only的用户也能够顺利的使用苹果的服务和AppStore上的App,因此要求从2016年6月1日起,所有上架AppStore的应用必须支持IPv6-only网络。 参考网址:https://developer.apple.com/support/ipv6/ 但这个要求常常被误读为商家AppStore的应用(包括APP、服务器以及服务器所在网络环境)要全面支持IPv6才行,但其实不然。 苹果当然知道,第三方开发者以及的他们的服务器遍布世界各地,各国建设IPv6的进展参差不齐,如果一刀切下来,不要说2016年,恐怕到现今的2018年,这个改造工作量都无法得以完成,将极大影响AppStore市场和苹果生态的繁荣。 因此苹果的要求仅仅是“Support IPv6-only”而不是“Must be IPv6-only”,也就是说第三方开发者的应用只要能被IPv6-only环境下的用户访问即可,并不要求整个系统全面转化为IPv6。 仔细研读上面苹果官网连接中的内容,可以看到如下描述: ![58961e40e50cadb8376f71a7effc6f18dbef974a.png](https://static.studygolang.com/180702/b97343c75e4a92d8621c66238df9e637.png) 首先苹果给出一个在没有IPv6-ony环境的情况下,教大家搭建一个IPv6-only的访问环境,便于进行本地的测试 ![bc4e6a832fe9e2dc66d43283cadd1077f944a2b2.png](https://static.studygolang.com/180702/8b4cda2bae72b9c419e18d583350274b.png) 接着苹果提到: 针对App来说:并不用全面替换掉其中涉及到IPv4部分的代码(网络相关API),只要能够通过上述IPv6-only环境能够访问即可,可见这个标准存在一些模糊性,需要用户自行搭建上述环境并通过本地测试。 同时苹果也建议到:代码中最好不要出现专门为IPv4或者IPv6提供的API,而尽量使用经过封装的地址簇无关的API。使用这些地址簇无关的、经由苹果良好封装的API,APP可以在IPv6和IPv4环境中自适应,而无需感知底层网络基础设施的细节。 针对服务器来说:如果服务器部署在互联网上,那么其实并不需要进行立即的改动,因为应为苹果会通过6to4转换服务器即DNS64/NAT64,去访问你的应用,只要能访问通就行。 同时苹果也建议到:尽管现在不需要,迟早服务器时需要IPv6支持的,即服务器能够分配IPv6地址,域名能够解析到V6的地址。 但如果有些服务器是内嵌在iOS App客户端本身中的情况,由于这种情况无法进行6to4转换,因此必须要要求改内嵌Server和客户端都具备IPv6的处理能力。 总结下来苹果的IPv6-only Support审核走的是两条路线: 如果应用App、服务器、网络环境均具备IPv6条件,直接访问就好了。 如果应用App、服务器、网络环境不具备IPv6条件,那么苹果将通过DNS64/NAT64来访问你的应用。 这样看来,大部分情况下,我们应该什么都不需要做,就能顺利通过审核,但是为什么网上存在大量的用户抱怨审核不通过呢? 3.为什么会审核失败 其实问题主要出在DNS64/NAT64这个环节,苹果在通过DNS64/NAT64访问我们的应用服务器时,由于其测试环境部署在美国,而我们的服务器如果部署在中国大陆境内,在6to4转换访问是往往会出现一些不可描述的失败原因,从而导致审核失败。 这时最好的办法就是让审核访问路径不要走DNS64/NAT64这一条路径,从而让应用服务器拥有一个IPv6的地址,就是王道了。 4.解决方案 使用阿里云负载均衡SLB IPV6实例,同样无需后端应用的改造,将原有服务直接挂载到IPv6 SLB的后端,由SLB实现6to4转换,而在苹果审核服务访问应用系统的时,是直接访问IPv6 VIP的(SLB上提供的IPv6地址),因此App审核将不再是烦恼。 ![1ead3bbbcdb2d2576850275e754ccad88314c03a.png](https://static.studygolang.com/180702/40d87578b34efe76f7c5b978e5d0b848.png) 5.结束语 目前阿里云负载均衡SLB已经面向全网用户开放IPv6实例购买,详情参考,同时IPv6 SLB更享65折带宽优惠,即刻行动起来,今天就让您的服务升级到IPv6吧 ! 原文链接:http://click.aliyun.com/m/1000004124/

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

691 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传