美文网首页iOS零碎知识iOS APP 发布app开发
苹果审核ipv6海外解决思路-About APP Store

苹果审核ipv6海外解决思路-About APP Store

作者: Forest10 | 来源:发表于2016-08-19 13:45 被阅读4544次

首先声明,一我不负责涉及你们内部服务器. 二是加完 QQ 不要问些有的没的,好好读文章,别人能过,你们也能过
苹果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地址的服务器,这才是关键中的关键.至于其他文章所推崇的教育网转发,一是价格太贵,二是转发这事情由他人掌控多少有点看不起自己公司后端的意思(毕竟大多数不从事后端的人的想法就是感觉后端有毛事可干,喝喝喝)..

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

一、购买一台海外服务器,本人使用的是搬瓦工,直通车:

https://www.bwh1.net/aff.php?aff=10004

近些天有朋友反映搬瓦工部分ip被墙,所以如果想要过的可能性大一点可以直接选择阿里的海外版.###

现在搬瓦工的区分openVz和KVM,OPENVZ支持IPV6
到达购买页面之后买一台差不多配置的服务器即可.洛杉矶或者弗罗里达的都行.

购买之后:

  • 点击


  • 获取全球唯一的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

如果您renwei我的文章对于您苹果审核做出了贡献,多谢支持,金额随意.不强制.

还有就是强调一下,这种知识确实不值几个钱,但是亲自动手操刀还是需要TIME的.都是混口饭吃,给点饭钱不多.

1475036463795.jpg

相关文章

网友评论

  • 和气生财_628f:楼主言辞犀利,语言刁钻,文采风骚,我喜欢!
  • Keropok:楼主,我的APP是socket连接,也可以用这种方式吗
  • 铁乐猫:你好,楼主,我按你的方法过了苹果审核了。后续不知道还需要用到那台搬瓦工继续做AAAA的反向代理吗?还是说完全就可以在域名解析那里将四个AAAA消掉了,因为它和我别名记录有冲突,我A记录想做别名的时候,也得将四个AAAA的也一起做成别名。
    Forest10:4A的话 在苹果审核期间保留就行了,其余时候直接消除就可以。其实可以算是DNS欺骗吧。。。哈哈:smile: 过了就好
  • 握青春:您好,阿里的海外版要怎么配置呢
    Forest10:阿里海外版没玩过。。。好像贵的要死。。
  • 4df7cb6eb496:app只在中国appstore上架也需要配置国外的ipv6吗…
    Forest10:最终不都是要苹果总部审核莫?我是后台不是专业ios不知道你们的流程
  • Cloduway:请问一下 如果是网络延迟引起的丢包呢 这样从国外服务器nginx转发 到国内 网络延迟也很严重吧?
    Forest10:别把希望寄托在国内nginx,直接转发到端口,丢包问题不是很严重
  • Cloduway:hi楼主 请问一下 我配置AAAA到我的海外服务器 然后海外服务器可以直接 proxy_pass https://123.206.4.888:443/; 这样配置到我的机器吗?(123.206.4.888是我租用的腾讯云的负载均衡的机器监听了443端口。)
    Forest10:@Cloduway 监听跟转发端口不是一个意思的!
    监听相当于大楼一楼的楼管,每次有人想去大楼哪个门,问下楼管他就直接带你去了.转发端口是你已经知道哪个门的门牌号,直接自己去就行了
    Cloduway:需要按照https那种方式配置吗 还是 普通的http方式 我的域名是https
  • loshuang:照楼主的方法搭建了搬瓦工服务器,但不是买的直通车,在洛杉矶的服务器。可能是因为延时问题还是没有通过,白天在洛杉矶的服务器ping我们后台服务器200ms延时
    stopro:@iOSHuang 最终通过了吗?
  • f9b5e102f62f:感谢博主,我们在被拒5次后,终于审核通过,技术人,就应该像博主一样共享知识,让大家一起学习进步,小小打赏,希望笑纳!
    Forest10: @xueyunfei 感谢打赏。我一直坚信开源才是未来。知识应该被共享的
  • 620a211c55a1:你好,想请问下我这种ipv6的测试是不是成功的呢?
    AAAA DNS record 2607:8700:xxx:xxxx::xxxx:xxxx
    IPv6 web server nginx/1.9.9
    IPv6 DNS server This domain has no IPv6 DNS server, this may prevent some IPv6-only users from reaching it.

    在ipv6的网站测试了之后,我用mac作为ipv6的热点,通过手机使用app还是不能够获取到数据,请问是哪里出现问题呢?另外我的项目是使用asi的,reachability已经更新了,会不会是asi有问题呢?
    Forest10:@justTusang 参照文章第三条
    620a211c55a1:@Forest10 还想请教下楼主 如果按照你这样处理了之后 阿里云还需要添加对应的AAAA的解析吗?
    Forest10:@justTusang 从你IPV6测试来看是可以的.不要相信国内IPV6至少到现在我也没找到真正能发射V6信号的东西,公司给报销设备的话买个好点的V6路由发射器.还有就是我不是前端的....搞不懂IOS安卓本身的东西.
    如果你按照我的文章配置好了之后参照我给11楼的答案,这个是把v6转换为v4对抗不了真正的v6环境的. :no_mouth:
  • 8a78ef23e11f:在没看到这个文章前,我都准备花钱去买了,被拒了三次,每次都是拿不到数据,看到作者使用的是搬瓦工,刚好我一直买来当做vpn再用,就按照楼主的方法,让我们运维给配置了一下,然后第三天就过了。真的是很感谢,在某些人为了一点蝇头小利,敲诈别人的时候,会有人挺身而出,像楼主学习。 :+1:
    Forest10:@8a78ef23e11f 恭喜通过,知识本来就该被分享,不应该是一部分人的盈利品.
  • 7a3e92887f84:好帖,昨天楼主帮我配置了一下,今天苹果就过了。之前一个app花200做的中转,伤不起,
    Forest10:@7a3e92887f84 个人开发者本来就不易,再给那些中转者交学费实在是很不爽,审核通过是最好的回复.
  • 6375332fabb5:路见不平
    Forest10: @diwangerdai 我不是针对谁,我是说收钱的各位都是垃圾。
  • hhgvg:楼主 你这个配置是要在后端配置吗
    Forest10:@hhgvg 对的,其实苹果说的那些前端API层面支持IPV6的话语是针对绝对IPV6地址而言的,可是在中国除了教育网用户有这种真实IPV6环境外基本上不好找了.所以可以采取偷天换日的手段,即把苹果的IPV6请求强制转化为IPV4,这样就能适应大天朝的特色局域网了 :wink:
  • l漂泊l:您好, 请问 http://ipv6-test.com/validate.php 按你方法搭建后,这个网址测试IPv6 web server 不通过正不正常?AAAA DNS record是过了.
    356b4a6f4cb0:@l漂泊l 你好,请问IPv6 web server这个你是怎么设置通过的啊
    l漂泊l:@For_ever嫣然 非常感谢
    Forest10:@l漂泊l 你可以在那个测试网站上测试一下 ipv6.baidu.com和白毒的那个一样就可以了.最后一组的话不容易做到.

    Tested on Wed, 28 Sep 2016 03:31:41 GMT
    AAAA DNS record 2400:da00::dbf:0:100
    IPv6 web server nginx/1.0.3
    IPv6 DNS server This domain has no IPv6 DNS server, this may prevent some IPv6-only users from reaching it.
    最少的你的网站也要能测出来 IPv6的web server是啥:nginx或者apache啥的就行了.然后找另外一台海外服务器ping一下,能有IPV6地址返回可以保证苹果审核时候网络环境没啥问题了.


    AAAA DNS record是过了:这句话是有歧义的......因为只要在DNS解析那儿加入了4A记录之后就能返回...... :fearful:
  • 你流泪时我会哭:按照楼主的方法,审核通过了,在配置期间谢谢楼主帮忙配置海外服务器通道;
    Forest10:@hhgvg 写这篇文章就是为了打击那些收钱的,我不会收费的.当然,要是打赏一两块钱我还是很乐意的,2333333333333333........................ :blush:
    hhgvg:楼主 我有个疑问 这个配置海外服务器还要收费吗
    Forest10: @你流泪时我会哭 举手之劳,通过审核是最好的回复😄
  • Forest10:server{

    listen 123.456.250.1234:80;
    listen [12306:10086:101:2e97::]:80;
    server_name sb.12306.com;

    location /{

    proxy_pass http://160.2005.101.119:12345/;
    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    }


    真实配置的例子.HTTPS类似
  • Forest10:listen [12306:10086:101:2e97::]:80;
    V6的详细配置例子
  • Forest10:v6指向海外,v4指向国内已实验成功。审核时期速度也有了保障
  • IRONYT:六月一后上了好几个,都没出问题啊,你怎么做的网络请求?
    Forest10:@IRONYT 我后端,只能负责转发
  • Forest10:中国人最擅长的就是窝里斗。本来是该集体对抗苹果早日解决ipv6.这个也要收钱,以为nginx和linux都是你们开发的?写这文章就是为了打击你们,牛逼就去github fork nginx或者linux,别拿着公有的东西为所欲为
    Forest10:@smilexyk 市面上苹果ipv6审核卖到了680一次。其次就是运营商不会放弃ipv4匮乏导致独立ip价格上涨这块肉的。
    2cbff3cffb44:@For_ever嫣然 我觉得与其说是对抗 Apple 早日解决,不如说是赶快推动 IPv6 普及来早日解决
  • Forest10:http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php 这个网站是对你配置好的域名进行IPV6ping,和IPV4不是一码事
    http://ipv6-test.com/validate.php 这个是验证域名连通性的,其实第一个网址就可以了,不过多一步检测也是可以的. :blush:
    hhgvg:http://ipv6-test.com/validate.php 这个网站 有些网关测不了
    6375332fabb5:IPv6 web server也过了,原来是搭好的nginx没有启动,但是IPv6 DNS server没有过,是不是正常的?
    6375332fabb5:@For_ever嫣然 http://ipv6-test.com/validate.php 按你方法搭建后,这个网址测试IPv6 web server 不通过正不正常?AAAA DNS record是过了.
    http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php这个网站ping是有反应的,延迟是138ms,这样可以通过苹果ipv6测试了没,心里没底,求回复.

本文标题:苹果审核ipv6海外解决思路-About APP Store

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