iOS审核因IPv6被拒

作者: 暮归倾城 | 来源:发表于2017-05-08 10:31 被阅读902次

    最近提交的新版本因为IPv6问题被拒,审核组给的截图,页面是空的,说明请求之后没有拿到数据。在这之前,17年元旦之后,我们先后提交了三个版本,均审核通过,真是一脸懵逼,先自己搭环境测试。

    搭建IPv6环境进行测试

    两种方式:用网线、不用网线(热点方式)
    因为我的Mac没有网线接口,买个转换接头要100大洋左右,果断选择第二种。具体步骤参考下面的文章,一步一步来就OK了。
    iOS-不用网线搭建IPv6网络测试环境
    测试结果:运行OK。

    我重新打了个包提交审核,审核速度相当快,不到20个小时就给我拒了。。。我不死心,重新提交审核,又是不到20个小时就给我拒了。。。今年的五一过得真是相当心塞。

    Mac搭建IPv6环境测试没问题仍然被拒怎么办

    从网上查资料,发现Mac搭建IPv6环境测试通过,只能代表客户端应用在 IPv6 网络下,是没有问题的。此时手机和 Mac 之间是 IPv6 ,但 Mac 和你的服务器之间还是 IPv4 连接。无法验证你的服务器能够对 IPv6 网络做出正确的响应

    苹果审核时,通过 DNS 服务器询问你服务器的 IPv6 地址,然后进行访问。如果查询不到 IPv6 地址,可能会进而询问 IPv4 地址,然后进行转换使用。苹果明确表示服务器不需要支持 IPv6,但是有一点苹果没有指出来,那就是,虽然你的服务器不用支持 IPv6,但是必须正确响应 IPv6 的 DNS 查询

    验证服务器是否能响应IPv6的DNS查询####

    方法一: $ dig +nocmd +nostats example.com AAAA 如果返回的 status 为 NOERROR, 那基本就没什么问题。
    我试着dig自己的域名,返回NOERROR,因此运维说服务器没问题,提交审核后依然被拒。这个方法的可靠性有待考证(我怀疑此时Mac与服务器之间依然是IPv4连接)

    方法二:点击进行IPv6测试

    界面如下:


    输入域名.png 查看结果.png
    结果表明服务器不支持IPv6,也不能响应 IPv6 的 DNS 查询
    剩下的就是运维的事了。

    和运维进行友好沟通##

    和iOS小伙伴们沟通IPv6被拒的解决方法,发现最难的不是找到被拒的原因,而是和运维扯皮。大部分小伙伴都听运维说过这句话:IPv6被拒和服务器没关系,服务器不需要做什么设置,应该是你们客户端的问题,你们看看代码怎么改一下。他们的证据就是上文说的“苹果明确表示服务器不需要支持 IPv6”。
    这种时刻一定要明确责任。作为客户端,首先要确保代码中没有使用被IPv6禁止的方法,排除了自己的问题后,与运维沟通一定要坚定立场,是他们的问题就一定要让他们改。我和运维第一次沟通时不自信,不知道自己这里有什么问题但也以为是自己的问题,就重新提交审核又被拒,浪费四天时间。
    明确责任不是在追责或者推卸责任,而是为了尽快解决问题使项目顺利上线。

    我们使用的是阿里云服务器,参考文章阿里云 Ubuntu 支持 IPv6 的完整步骤

    再次测试。

    IPv6测试结果2.png

    IPv6 web server 不通过没关系---你的服务器不用支持 IPv6
    AAAA DNS record 通过即可---服务器必须正确响应 IPv6 的 DNS 查询

    再次提交审核,通过。

    相关文章

      网友评论

      • a3126f92c874:其实你这种方法已经是为你的服务器绑定了一个ipv6地址了,而且数据是通过别人转发,也就表示别人可以随意抓你的包,如果只是为了提审那就没问题,毕竟没有玩家数据
        我也在找一种不需要绑定ipv6地址就可以实现的方案,以前没问题,今年一直被拒,很烦
      • 32c8389b2d1f:谢谢分析

      本文标题:iOS审核因IPv6被拒

      本文链接:https://www.haomeiwen.com/subject/wusctxtx.html