问题
新app申请appstore上线,审核被拒绝,理由是:使用ipv6的wifi访问app时,崩溃。
分析原因是:app的后台服务器不支持ipv6网络
网络条件
没有自建服务器,某讯云服务器用了几年
适用范围
不适合,有自建机房或者钱多的同学! 适合新入坑appstore的同学。
最终解决方案
不兜圈,先上直接通过审核的解决方案,最后再附上心路历程(一开始很绝望差点放弃)
1. 购买海外服务器。注意:只需要且必须具备外网ip和外网ipv6即可。
唠叨一下:貌似国外的基本默认支持ipv6;省钱的话,买最低配就可以了,因为只需要做转发;
我买的哪家就不提了,避广告的嫌。
2. 添加两条域名记录。
比如网站是www.youfengwo.com. 为了不让海外线路影响网站,新开一个域名吧,
添加A记录app.xxxx.com,指向海外服务器的外网ip
再添加AAAA记录app.xxxx.com,指向海外服务器的外网ipv6
待审核通过后,A记录app.xxxx.com,指向回你的国内服务器即可,毕竟走海外线路还是比较慢嘛
3. 海外服务器安装配置nginx
很简单,先安装yum -y install nginx
然后打开配置文件,vim /etc/nginx/conf.d/default.conf
在配置文件加一行,目的是,把ipv6网络进来的请求,转发到你实际的ipv4服务器去处理
location / {
proxy_passhttp://www.youfengwo.com;
}
啰嗦一下,其他配置都不用改,nginx默认打开了ipv6,另外确保下服务器的80端口打开,以及可以ping通
好了,以上三步就搞定了,灰常快,开启ngingx,用ipv6网络访问你的app接口app.xxxx.com
自测方式
为了保险,申请审核之前,先自测下,有两种,可以都测下比较放心
方式1,打开http://ipv6-test.com/validate.php,输入你的服务器网址进行检测,如图说明ok。据说前两个绿了就行,反正我是直接3个绿
方式2:mac电脑连网线,然后开启互联网共享,把nat64打勾,就开启ipv6网络的热点了
具体开启可以自行百度。用手机连上这个热点,去使用自己的app,能正常访问就ok了
还要干嘛?当然是提交给苹果,等待通过罗
心路历程
第一次被拒,网上查了灰常多文章,基本是18年初或者17年的
总的印象,某讯云肯定不行,某里云可以开
本人由于是某讯云,就不想信邪,于是折腾。
折腾了一晚上,现在还记得步骤,1开启网络ipv6支持,2添加ipv6隧道,3,添加aaaa记录
本机能访问自己了,开心完了,心想得好好给某讯云正名了
结果外网访问不了,为节约时间,遂咨询某讯云工程师。
答复是国内的所有服务器不支持ipv6,可以申请ipv6负载均衡的内测资格,等待5天。omg,死心
好吧,咱还有某里云呢,
吸取教训,直接先问工程师
答复是,我们也不支持ipv6,可以申请ipv6负载均衡的外测资格,等待15天。omg,
都说你行,咋过了一年,你还倒退了呢。
其实也不全是,这一年,某里云出了转换服务,就是太贵,个人觉得有点坑。
所以开头提到,钱多的同学就不用看了,直接买买买买
没招,又找了一做运维的朋友,人家说服务器多,就是没有空闲的外网ip。算了不为难人家了
到此,本人已经折腾到没招了,开发好的app都打算不上线算了
最后一想,还剩下最后一条没有努力过的路,就是买国外服务器
套用下成龙大哥的话,对于这条路,我一开始是拒绝的,后来我试了一下,哇,真的是很nice
结论
天朝的IT技术人员们真的是TM不容易!在此持续心疼你们10秒!
本人发布在csdn的原文:
https://blog.csdn.net/zhiqun2005/article/details/86563679