给服务器添加 ipv6 支持 以通过苹果审核
2018-01-27 09:12
746 查看
转自:https://www.logcg.com/archives/2742.html
最近更新:1st 六月, 2017
给 iOS 应用做后端服务器,需要做 ipv6 的支持,虽然 6 在中国几乎不怎么用,但遗憾的是苹果现在要求所有上架的
app 都需要支持纯 ipv6 网络,所以,我们的服务器至少要在 ipv6 的环境下跑起来。
由于国内大多数服务器商不能提供 ipv6 网络,所以我们只能自己找隧道,现在用的比较广的是这一家,我也用的是他们的服务,是免费的,注册一下就好。
注册之后,选择左下方的 “Create Regular Tunnel”,创建一个普通隧道,ip地址自然就是你服务器的外网地址,创建的地方选择距离最近的“香港”,速度会比较好一些。
现在,回过头来配置你的服务器: vi
/etc/sysctl.conf ,找到下面三个改为
0:
然后编辑 /etc/network/interfaces ,在末尾加入下面的信息:
注意,local 字段是你内网的 ipv4 地址,比如我的是阿里云的服务器,那么就是阿里云的内网地址否则无法ping通。
其中里面<IPv6> 需要你自己替换成你刚刚申请的 Tunnel 的 Server IPv6 Address,但不包括最后的 ::1/64 。server和client都是同一个所以就填就好了。
配置好后就可以重启服务器了,重启后使用 ifup
he-ipv6 确认隧道启动。
然后就可以测试了,使用 ping6
ipv6.google.com 来测试配置是否正确。
在 HE 网站,配置解析为你的ns服务器,比如我用的 cloudxns,那么我就把解析地址设置为 cloudxns 的代理地址。
然后登录你的ns网站,给你的服务器添加 AAAA 解析,地址为你的ipv6地址,解析域与你的v4解析一致,用哪个解析哪个,比如我就用到 www,那就添加 www,值得注意的是现在国内的ns商都提供一个额外的国外特殊通道,所以你可能得除了国内默认外,还要添加什么“海外默认”、“美国默认”、“谷歌默认”之类的一大堆。多添加几个,毕竟苹果爸爸在美国。
等待配置生效就好了,然后我们可以用dig工具来测试——这里注意不要使用阿里云服务器默认的dns,你可能根本查不到。
使用谷歌的公开 DNS 进行测试,如果看到记录内容是你的v6地址,那就ok了,现在你可以试试去那些在线ping6的网站测试了。
最后,你还需要让nginx默认支持v6,在你对应域名监听上添加:
使用命令 nginx
-t 确认没问题的话,重启服务即可。
这下,你的网站或者 api 就能支持 ipv6 的访问和测试了。
给服务器添加 ipv6 支持 以通过苹果审核
最近更新:1st 六月, 2017给 iOS 应用做后端服务器,需要做 ipv6 的支持,虽然 6 在中国几乎不怎么用,但遗憾的是苹果现在要求所有上架的
app 都需要支持纯 ipv6 网络,所以,我们的服务器至少要在 ipv6 的环境下跑起来。
由于国内大多数服务器商不能提供 ipv6 网络,所以我们只能自己找隧道,现在用的比较广的是这一家,我也用的是他们的服务,是免费的,注册一下就好。
注册之后,选择左下方的 “Create Regular Tunnel”,创建一个普通隧道,ip地址自然就是你服务器的外网地址,创建的地方选择距离最近的“香港”,速度会比较好一些。
服务器端
现在,回过头来配置你的服务器: vi/etc/sysctl.conf ,找到下面三个改为
0:
1 2 3 | net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | auto he-ipv6 iface he-ipv6 inet6 v4tunnel address <IPV6>::2 netmask 64 remote <Tunnel 的 Server IPv4 Address> local <内网 IPv4 地址> endpoint any ttl 255 gateway <IPv6>::1 up ip -6 route add 2000::/3 via ::<HE 的 Server IPv4 Address> dev he-ipv6 up ip -6 addr add <IPv6>::1:1/128 dev he-ipv6 up ip -6 addr add <IPv6>::2:1/128 dev he-ipv6 down ip -6 route flush dev he-ipv6 |
其中里面<IPv6> 需要你自己替换成你刚刚申请的 Tunnel 的 Server IPv6 Address,但不包括最后的 ::1/64 。server和client都是同一个所以就填就好了。
配置好后就可以重启服务器了,重启后使用 ifup
he-ipv6 确认隧道启动。
然后就可以测试了,使用 ping6
ipv6.google.com 来测试配置是否正确。
配置解析
在 HE 网站,配置解析为你的ns服务器,比如我用的 cloudxns,那么我就把解析地址设置为 cloudxns 的代理地址。然后登录你的ns网站,给你的服务器添加 AAAA 解析,地址为你的ipv6地址,解析域与你的v4解析一致,用哪个解析哪个,比如我就用到 www,那就添加 www,值得注意的是现在国内的ns商都提供一个额外的国外特殊通道,所以你可能得除了国内默认外,还要添加什么“海外默认”、“美国默认”、“谷歌默认”之类的一大堆。多添加几个,毕竟苹果爸爸在美国。
等待配置生效就好了,然后我们可以用dig工具来测试——这里注意不要使用阿里云服务器默认的dns,你可能根本查不到。
1 | dig your.domain.com AAAA @8.8.8.8 |
配置 nginx
最后,你还需要让nginx默认支持v6,在你对应域名监听上添加:1 2 3 4 5 | listen 443 ssl; listen [::]:443 ssl; listen 80 default ; listen [::]:80 default; |
-t 确认没问题的话,重启服务即可。
这下,你的网站或者 api 就能支持 ipv6 的访问和测试了。
相关文章推荐
- 阿里云通过He.net添加IPV6支持(本文对应的服务器操作系统为CentOS)
- 阿里云服务器支持ipv6(appStore审核不通过问题)
- 为wdcp面板的lnmp服务器添加ipv6支持的方法介绍
- 苹果通过审核ipv6
- 阿里云服务器如何设置IPV6通过appstore的审核
- 阿里云服务器如何设置IPV6通过appstore的审核
- 【转载】----阿里云服务器如何设置IPV6通过appstore的审核
- 阿里云服务器如何设置IPV6通过appstore的审核
- 升级支持ipv4/ipv6后的Socket处理(cocos2dx项目苹果审核支持ipv6处理二)
- 阿里云服务器以及CDN支持IPV6的方法+如何为Nginx添加ipv6模块
- 不使用Mac机器网络使用iPhone网络搭建ipv6测试环境(cocos2dx项目苹果审核支持ipv6处理一)
- 苹果审核IPv6被拒,阿里云服务器配置
- 关于苹果审核,应用需支持IPV6的解决办法
- 阿里云服务器如何设置IPV6通过appstore的审核
- 阿里云linux服务器支持ipv6为苹果过审
- 升级支持ipv4/ipv6后的Socket处理(cocos2dx项目苹果审核支持ipv6处理二)
- 阿里云服务器如何设置IPV6通过IOS/Appstore的审核
- aliyun支持ipv6的配置-苹果审核被拒的的破解之道
- 针对苹果最新审核要求 为应用兼容IPv6