APP轻松通过苹果IPv6审核——阿里云网络产品级解决方案 |
背景2016年初起,苹果要求上架iOS App Store的应用要兼容IPv6。这个决定虐惨了中国大陆的App开发者。随便打开一个开发者论坛,都可以看到各种关于App如何通过苹果IPv6审核的求助贴。 针对这一问题,下面将为大家推荐阿里云产品级的解决方案,希望可以助力开发者快速完成苹果AppStore审核。 苹果Store的APP IPv6审核机制在开始产品级的解决方案前,再老生常谈的介绍一下苹果AppStore的审核机制。 苹果AppStore在美国的IPv6-only环境下对APP进行访问。如果APP服务器支持IPv6,则可通过IPv6网络直接访问。如果APP服务器不支持IPv6,则IPv4 APP服务器的IPv4地址将通过DNS64合成为IPv6地址返回给美国的IPv6-only客户端,IPv6-only客户端再通过NAT64网关将访问数据包中的目的IP(即DNS64合成的IPv6地址)转换为IPv4地址,进而对APP服务器进行访问。 苹果Store的APP IPv6审核机制如下图所示:
注:图片来自苹果官网 作为中国大陆的开发者,APP服务器几乎都只有IPv4地址,因此在提交APP到苹果进行审核时都需要走DNS64/NAT64这条路径。但遗憾的是,DNS64/NAT64这条路径经常会因跨国网络问题和不可描述的屏蔽等原因,国内APP服务器的IPv4地址无法通过DNS64合成IPv6地址,即使成功合成IPv6地址,苹果AppStore也有可能无法成功访问位于国内的IPv4 APP服务器。 因此,这里建议App开发者提交APP审核时,应避免美国苹果IPv6-only的访问流量走DNS64/NAT64这条路径。 阿里云产品级解决方案方案概述 阿里云负载均衡IPv6实例或者IPv6转换服挂载IPv4 APP服务器,这样当苹果AppStore发起审核时,来自美国苹果公司IPv6-only客户端的IPv6流量先访问阿里云负载均衡IPv6实例或者IPv6转换服务,然后阿里云负载均衡IPv6实例或者IPv6转换服务完成IPv6到IPv4的转换,将转换后的数据包转发至IPv4 APP服务器上。 机制图如下图所示:
推荐产品1:负载均衡IPv6实例适用场景: IPv4 APP业务运行在阿里云上,且IPv4 APP服务器和阿里云负载均衡IPv6实例必须位于同一区域。 场景示意图:
场景描述: 如上图所示,苹果发起审核时,阿里云负载均衡IPv6实例将来自苹果IPv6-only的访问流量根据转发策略分发到后端IPv4 App服务器上。 注意:
负载均衡IPv6实例目前支持公共云华东1(杭州)、华北2(北京),其他区域也即将支持,请关注阿里云官网。 推荐产品2:IPv6转换服务适用场景: IPv4 APP业务可以部署在本地IDC机房、阿里云、或者其他云服务商上,只要APP业务服务器具备公网IPv4地址,都可以使用阿里云IPv6转换服务。 IPv6转换服务和IPv4 APP服务器可以在同一区域,也可以不在同一区域。 场景示意图:
场景描述: 如上图所示,不管IPv4 APP服务器是部署在本地数据中心、阿里云或在其他云上,当苹果AppStore发起审核时,阿里云IPv6转换实例根据用户配置的IPv6到IPv4的转换规则,将来自美国苹果公司IPv6-only客户端的访问流量转发到后端IPv4 App服务器上。 注意:
IPv6转换服务实例可选择公共云华东1(杭州)、华北2(北京),其他区域也即将支持,请关注阿里云官网。 重要的提醒为避免因跨国网络问题和不可描述的屏蔽原因导致的DNS无法解析APP域名的IP地址,推荐上述2款产品搭配阿里云云解析企业版共同使用。阿里云云解析具有海外DNS BGP节点,可以确保苹果AppStore在做IPv6审核时,查询DNS时可以正确返回域名的IP地址。 结语本文只做苹果AppStore审核APP IPv6时候的网络连接方面的产品推荐,如果要APP通过IPv6的审核,还需要APP(代码)本身兼容IPv6,具体可参考苹果官网。 |