苹果应用提交审核因为IPV6被拒该咋办?

从2017年6月1日起,苹果公司全部采用IPV6地址进行使用。并且苹果对app store中的应用发布的版本都必须使用IPV6协议进行检测(新上的项目和更新版本都得检测)。也就说说如果应用后端调取的是IPV4地址那就玩完了绝对会被拒绝发布上线。那么很多人首先会想到在公网上申请一个IPV6地址不久好了?

答案是:在“天朝”是不可能的,由于中国特殊的社会主义导致IPV6地址只有中国教育网才拥有,并且作为研究使用。所以在百度上全是通过教育网帮公司解决IOS应用IPV6上线的问题,收费还不便宜299一次…包月使用599。教育网的IPV6地址瞬间成为有关系的人的敛财利器,当然本文还是推荐一个更好的办法来应对措施!作为一个“运维狗”也是在工作中遇到这个事情所以才写下一个小技巧方便个人开发者和公司采用。

ipv6与ipv4有什么不同?

本文不是网络课程,建议去搜索引擎自己搜索一下,其实IPV6与IPV4的不同主要在于在数据链路层的不同、并且增大了地址范围、增加了数据链路层的安全。其他比如网络层向上都是互相兼容的,其实我还是比较喜欢IPV6的这样可能以后可以在家里申请固定地址而不是动态地址了(可能天朝是不可能了…毕竟固定了地址后在家里也能盖网站这样没人备案了!)。

解决方案:

其实解决方案非常的简单,在国外租用一台带有IPV6公网地址的VPS不久OK了?将后端连接URL采用nginx的proxy代理或者使用haproxy代理都是可以的,不过本文使用的nginx的解决方案。

首先你肯定是要有一个极有IPV4公网地址又有IPV6公网地址的VPS作为苹果接入的接口,本博客一直是推荐vultr主机商的,价格便宜带宽大,2.5美金起买,现在点击链接即送10美金体验金。找到有ipv4和ipv6的VPS商户创建一个主机,下图是vultr主机提供商如何创建ipv6地址主机的截图,不懂如何创建看这里

直接在enble ipv6打勾即可创建一台既有ipv4和ipv6公网的主机看看多简单。随后在机器中安装一个Nginx?什么你不会?看这里。随后编辑nginx配置文件:/etc/nginx/nginx.conf如果你是编译安装的请自行找到你的配置文件!

server {
 listen 80 default;
 listen [::]:80 default; #开启ipv6的监听端口
 listen 443 ssl;
 listen [::]:443 ssl; #开启ipv6的SSL监听端口
 server_name localhost; #就一台主机域名还是先别配置否则可能会无法代理...
 root /usr/share/nginx/html;

# Load configuration files for the default server block.
#include /etc/nginx/default.d/*.conf;

location /后端URL/ {
 proxy_pass 代理到的地址/URL/; #这里建议填写IP地址,否则VPS可能会从IPV6解析走IPV6线路会造成死循环!

#如果不行那么新建一个二级域名并将解析地址(只能填写IPV4)解析到你的生产环境中
 } 

#如果有多个后端都用location来写

error_page 404 /404.html;
 location = /40x.html {
 }

error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 }
 }

这个配置文件就算大功告成了,如果你有ssl证书别忘了将证书放在上面并在配置文件中写上。我估计以后会更严还是将证书放在上面作ssl比较稳妥!不知道如何配置ssl的Nginx?看这里

配置完nginx才只是万里长征的第一步,那么第二步就是给你的域名添加一个AAAA记录,不知道什么是AAAA记录?其实就是ipv6的解析记录称为4A记录。如果你公网域名是www.cookiesinn.org那么请添加一个AAAA记录并且将租来的VPS使用ip addr show 查看ipv6地址后填上。

第三步就是重启Nginx并检验效果,建议做完第二步等个半小时再做第三步骤,由于是公网解析所以添加好记录不会立即生效。模拟建议使用curl工具来模拟,最好再租用一台带有IPV6的VPS来模拟,如果经费不够?(不会吧一个月才这么点刀你还心疼啥,vultr是计时收费的检验好了关闭即可!)那就在本机使用curl命令获取(得到301表示成功),然后到你的生产环境服务器中查看日志有没有从VPS主机来的信息抓取了相应URL,如果没问题那么就算Nginx的proxy成功。

命令展示:

curl -g -6 http://[YOUR_IPV6_ADRESS]/URL/
#-6表示使用ipv6地址获取,-g表示网址序列范围使用

如果上述步骤都成功OK那么这个简易、专用于苹果检验应用的小站点就算搭建完毕了。

总结:

看来这个方法非常实惠,比什么299一次的使用中国教育网(坑爹!)来帮你通过苹果检测要方便的多,并且VPS也是你的还能控制!如果建立的站点只用于苹果应用检验确实有点浪费了,可以搭个梯子,做个测试什么的也是没有白浪费这台VPS。

Comments

Leave a Reply

Your email address will not be published. Name and email are required