[转]苹果审核ipv6被拒解决方案

原文链接:苹果审核ipv6海外解决思路-About APP Store

前言: 苹果App审核由于ipv6的原因被拒绝了3次,第4次终于过审,该文章是我同事所写,总结了他解决该问题的方法,希望对同样遇到该问题的同学有所帮助,以下是正文

苹果6月1日出的IPV6协议阻碍了国内大多数积极开发者,我司也不外乎,经过三次被拒后,遂在网上查找关于IPV6审核的相关事宜,怪我年少无知以为这种开源协议的东西应该是免费的,当然,我说的免费是想着看几篇成熟的IPV6审核文章然后自己实践,奈何几乎所有关于苹果IPV6审核的文章到最后不是推荐买教育网转发要不就是直接把钱交给个人然后让第三方来协助通过。

我实在无法想象一个仅仅靠着 linux 服务器外加 nginx 转发就能赚大钱的畸形小社会是怎样形成的,linux 市值多少钱恐怕无人能说出。

所有文章内说的苹果IPV6和后台服务器没关系是错误的,至少在请求转发层面是错误的。苹果使用IPV6-ONLY网络进行APP测试,如果服务器端支持IPV6的话则可以直接请求IPV6所对应的服务器进而使用nginx转发至相应的API接口。如果没有IPV6地址的话则直接通过NAT64转化为相应的IPV4进行请求相应API。请注意这里的重点是这个IPV6,(我不会画图,也怕侵犯他人图片使用权),服务器不能单单支持IPV6即可,所谓的支持不能仅仅是打开linux服务器内相应被封印的IPV6相关设置然后加一个HE隧道(当然这么着也有通过的,但是HE也是基于IPV4,最好还是不要走这条道)而是寻找一台真正有全球IPV6地址的服务器,这才是关键中的关键。至于其他文章所推崇的教育网转发,一是价格太贵,二是转发这事情由他人掌控多少有点看不起自己公司后端的意思(毕竟大多数不从事后端的人的想法就是感觉后端有毛事可干,喝喝喝)

经过第四次的痛苦实践,现将解决方案贴于文章下。希望能帮助广大开发者早日审核通过。

一、购买一台海外服务器,本人使用的是搬瓦工,直接百度搜索即可,哦不,最好用360搜索或搜狗搜索.谷歌更好.到达购买页面之后买一台差不多配置的服务器即可.洛杉矶或者弗罗里达的都行.

直通车:https://bandwagonhost.com/
购买之后:

  • 点击


  • 获取全球唯一的IPV6,此IPV6为真实IPV6

二、海外服务器端安装nginx然后配置好转发至国内自己APP及API使用的服务器端口.
  1. 普通http
server{
listen    你的海外服务器IPV4地址:80;
listen    你的海外服务器IPV6地址:80;
server_name  你的域名;
location /{
proxy_pass http://你的国内服务器IPV4地址:端口/;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}
  1. https
server{
listen    你的海外服务器IPV4地址:80;
listen    你的海外服务器IPV6地址 :80;
listen      你的海外服务器IPV4地址:443 ssl;
listen      你的海外服务器IPV6地址:443 ssl;
server_name  你的域名;
ssl_certificate /usr/develop/nginx/sslkey/XX.crt;  #(证书公钥)
ssl_certificate_key /usr/develop/nginx/sslkey/XX.key;  #(证书私钥)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header Content-Security-Policy upgrade-insecure-requests;
if ( $scheme = http ) {
rewrite ^/(.*) https://$server_name/ permanent;
}
location / {
proxy_pass http://你的国内服务器IPV4地址:端口/;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
三、以万网为例,修改域名解析至海外服务器,我直接把IPV4和IPV6都指向了海外,后来想想直接把IPV6指向海外服务器即可,IPV4不用变,这样可以在保证APP正常使用的情况下通过审核(不过还木有测试)

最后,对于你们那些利用信息不对称收钱的不要误会,我不是针对谁,我是说收钱的各位都是垃圾。

对了,我不是前端,因为苹果说的只需要前端API层面支持而不需要后端服务器支持的狗屁话让我们前三次的审核浪费了大量时间,原先我一直没有改动后端后来在广大收钱者的感召下开始进行后端大改造。祝各位早日通过审核。

致敬李纳斯:

“Software is like sex: it's better when it's free.”
软件就像性,免费的比花钱的好得多. --Linus Torvalds

推荐阅读更多精彩内容