首先声明,一我不负责涉及你们内部服务器. 二是加完 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
![](https://img.haomeiwen.com/i2788792/eec448e3845aae3d.png)
二、海外服务器端安装nginx然后配置好转发至国内自己APP及API使用的服务器端口.
- 普通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;
}
}
- 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正常使用的情况下通过审核(不过还木有测试)
最后,对于你们那些利用信息不对称收钱的不要误会,我不是针对谁,我是说收钱的各位都是垃圾。
![](https://img.haomeiwen.com/i2788792/fbf27941751fa063.jpg)
![](https://img.haomeiwen.com/i2788792/e5e492ac8310db4d.jpg)
对了,我不是前端,因为苹果说的只需要前端API层面支持而不需要后端服务器支持的狗屁话让我们前三次的审核浪费了大量时间,原先我一直没有改动后端后来在广大收钱者的感召下开始进行后端大改造.祝各位早日通过审核.
致敬李纳斯:
“Software is like sex: it"s better when it"s free.”
软件就像性,免费的比花钱的好得多. --Linus Torvalds
如果您renwei我的文章对于您苹果审核做出了贡献,多谢支持,金额随意.不强制.
还有就是强调一下,这种知识确实不值几个钱,但是亲自动手操刀还是需要TIME的.都是混口饭吃,给点饭钱不多.
![](https://img.haomeiwen.com/i2788792/925824cea5ff252a.jpg)
网友评论
监听相当于大楼一楼的楼管,每次有人想去大楼哪个门,问下楼管他就直接带你去了.转发端口是你已经知道哪个门的门牌号,直接自己去就行了
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有问题呢?
如果你按照我的文章配置好了之后参照我给11楼的答案,这个是把v6转换为v4对抗不了真正的v6环境的.
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记录之后就能返回......
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类似
V6的详细配置例子
http://ipv6-test.com/validate.php 这个是验证域名连通性的,其实第一个网址就可以了,不过多一步检测也是可以的.
http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php这个网站ping是有反应的,延迟是138ms,这样可以通过苹果ipv6测试了没,心里没底,求回复.