您的位置:首页 > 其它

给服务器添加 ipv6 支持 以通过苹果审核

2018-01-27 09:12 746 查看
转自:https://www.logcg.com/archives/2742.html


给服务器添加 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

然后编辑 /etc/network/interfaces ,在末尾加入下面的信息:

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

注意,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,你可能根本查不到。

1

dig
your.domain.com
AAAA
@8.8.8.8

使用谷歌的公开 DNS 进行测试,如果看到记录内容是你的v6地址,那就ok了,现在你可以试试去那些在线ping6的网站测试了。


配置 nginx

最后,你还需要让nginx默认支持v6,在你对应域名监听上添加:

1

2

3

4

5

listen
443
ssl;

listen
[::]:443
ssl;

 

listen
80
default
;

listen
[::]:80
default;

使用命令 nginx
-t 确认没问题的话,重启服务即可。

这下,你的网站或者 api 就能支持 ipv6 的访问和测试了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: