首页 > 移动平台 > 详细

AppStore IPv6-only审核被拒原因分析及解决方案-b

时间:2016-08-10 00:46:41      阅读:1270      评论:2      收藏:0      [点我收藏+]

自2016年6月1日起,苹果要求所有提交App Store的iOS应用必须支持IPv6-only环境,背景也是众所周知的,IPv4地址已基本分配完毕,同时IPv6比IPv4也更加高效,向IPv6过渡是大势所趋。

然而在对IPv6进行兼容适配过程中,很多开发者在本地环境测试通过,却在App Store审核时被拒,这种情况下可以首先排查是否由DNS解析失败引起,那么如何验证DNS服务器是否正确响应了IPv6地址的解析请求呢?搭建好DNS64环境后,可以通过以下命令查询:

$dig dnspod.cn aaaa

验证DNS解析的原因是,App访问网络的第一步就是进行DNS解析,App Store审核时会先访问DNS服务器,获得iOS应用服务器的IPv6地址,再进行访问,如果这时DNS服务器无法成功解析到IPv6地址,即使在本地搭建的IPv6-only环境中测试成功,仍然会出现在提交App Store审核时被拒的情况,所以选择一个稳定性、兼容性俱佳的域名解析服务至关重要!

经过全面的测试和灰度发布,腾讯云DNSPod域名解析已全面支持App Store IPv6-only网络环境,已有成功通过审核案例,并且在境内外均验证解析成功

附: 详细原理分析

IPv6-only环境的原理

首先需要明确一点,在App Store审核APP的IPv6-only的环境下也是可以正常访问IPv4的服务的,只是首先由DNS64将解析出来的IPv4地址转成兼容的IPv6地址,然后访问IPv4服务时通过NAT64网关对IPv4和IPv6进行NAT,并不需要客户有实际的IPv6服务。如下图所示:

技术分享
 

DNS64原理

客户端在向DNS64请求一个域名的IPv6地址时,DNS64会向域名的授权DNS请求IPv6地址,如果存在IPv6地址,则直接给客户端返回IPv6地址,如果不存在IPv6地址,则向授权请求IPv4地址,并将返回的IPv4地址转换为兼容的IPv6地址。

以Google DNS64为例说明转换规则,分别请求dnspod.cn的A记录(IPv4地址)和AAAA记录(IPv6地址):

技术分享
Paste_Image.png

从解析结果可以看出IPv4地址对应的IPv6地址,后32位的3b25:7465实际上就是IPv4地址的16进制表示59=0x3b,37=0x25,116=0x74,101=0x65,明白该规则后也可以自己进行IPv4向兼容的IPv6地址的转换,如119.29.29.29的兼容IPv6地址为64:ff9b::771d:1d1d,其中::表示为全0。

DNS64解析流程如下图所示:

技术分享
图片 2.png

NAT64原理

在IPv6-only环境中访问IPv4服务是需要通过NAT64进行网络地址转换,如下图所示:

技术分享
图片 3.png



文/yongfeng(简书作者)
原文链接:http://www.jianshu.com/p/8edfdfa20b29
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

AppStore IPv6-only审核被拒原因分析及解决方案-b

原文:http://www.cnblogs.com/isItOk/p/5755013.html

(3)
(3)
   
举报
评论 一句话评论(2
2016-08-10 11:06:17
说到审核被拒真心一个头两个大,这大热天心情更烦躁了!!!但是幸运的,我的审核通过了,这可比吃雪糕降温速度快多了,第一天提交,第二天通过,这速度杠杠哒,其实就是给APP服务器域名添加IPv6解析,添加一条4A记录,超级easy,无意中加入的干货群分享给大家(140755394)帮我解决了苹果审核头疼的问题,推荐一试!
回复
 (10)
 (3)
2016-08-24 15:57:01
苹果最近太任性了,这不我的APP审核被拒了N回,大热天我这暴脾气真是蹭蹭的往上涨。还好有大神鼎力相助,发挥洪荒之力让我easy通过审核,这不呼吸也顺畅了,赶快让我嘚瑟一会,其实就是给APP服务器域名添加IPv6解析,添加一条4A记录。这么好的消息必须雨露均沾,无意中加入微博:6Box网络加速器,强推给大家,审核通过分分钟的事!!!!!!
回复
 (10)
 (3)
2条  
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!