为什么APP在AppleStore的IPv6审核不通过?
苹果IPv6审核机制
苹果AppStore审核人员在美国的IPv6-Only环境下对APP进行访问,提交App后,如果AppServer支持IPv6,则可直接访问。如果AppServer不支持IPv6,则通过DNS64+NAT64进行访问。如下图所示。
由于大部分开发者的AppServer都是不支持IPv6直接访问的。所以,AppStore审核时,基本都是用NAT64+DNS64进行访问的。
DNS64+NAT64访问机制
DNS64:苹果AppStore审核的时候,要去 DNS 服务器查询AppServer的服务器的 IPv6 地址,然后进行访问。如果查询不到 IPv6 地址,会进而询问 IPv4 地址,然后苹果的网络会将查询到IPv4地址转换成IPv6的地址,返回给App客户端使用。如下图所示。
NAT64:苹果AppStore审核的时候,通过上一步获得IPv6的地址后,客户端App会直接访问IPv6 服务端的内容,或者通过NAT64的网关访问IPv4服务端的内容。如下图所示。
总结
由此可以看出,苹果AppStore在做IPv6审核的时候,并不需要DNS或者服务器支持IPv6接入。IPv4环境下的DNS或者服务器地址会由苹果AppStore审核时的DNS64+NAT64转换为IPv6地址进行通信。
如果,APP在苹果进行IPv6审核时不通过,可能原因主要有两方面:
App本身不兼容IPv6。此时,最好的办法是让App本身兼容IPv6;
跨国网络问题导致苹果AppStore所在的网络在审核时连接不通国内的服务器。此时推荐使用云解析付费版(具有海外DNS BGP节点)以及阿里云海外Region的ECS;
我有话说: