Nginx配置IPv6端口监听及务器设置IPV6及Https支持并通过AppStore审核

拟墨画扇 提交于 2020-01-28 04:03:46

一、监听端口

从Nginx 1.3的某个版本起,默认ipv6only是打开的,所以,我们只需要在监听中加入ipv6监听即可,不过推荐都手动加上比较好,代码如下:

listen [::]:80 ipv6only=on;

server {
    listen 80;
    listen [::]:80 ipv6only=on;
    server_name
    index index.php index.html index.htm;
    root
}

编辑完毕后保存,然后使用命令检测配置是否正确:

nginx -t

重启nginx

systemctl restart nginx

检测监听是否已经成功,如果列表出现 :::80的监听代表ipv6的监听已经成功。

netstat -tuln

 

二、其他个性化操作

如果只想监听ipv6,则去掉ipv4的配置,然后将ipv6设置为默认即可。

server {
    listen [::]:80 default ipv6only=on;

如果想监听指定ipv6地址,则将中括号中的:: 换成 指定ipv6地址即可。

server {
    listen [2001:470:1f18:471::21]:80 default ipv6only=on;

 

三、阿里云服务器设置IPV6支持并通过AppStore审核

苹果上架要求:要求支持IPV6only(因为阿里云主机没有IPV6only)

确认IPV6是否开启:

方式1:使用ifconfig查看自己的IP地址是否含有IPv6地址。

方式2.查看服务监听的IP中是否有IPv6格式的地址。(netstat -tuln)

开启IPV6:

vim /etc/sysctl.conf

vim /etc/modprobe.d/disable_ipv6.conf#全部注释掉#alias net-pf-10 off#options ipv6 disable=0

 

vim /etc/sysconfig/network

至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6,重启后, ifconfig查看ipv6的信息,有看到有关IPV6的输出就可以

添加ipv6隧道:

1. 注册Tunnel broker

https://www.tunnelbroker.net/
注册很容易,就不讲了,注册需要邮箱验证,,gmail、163能收得到认证邮件,qq还是一样收不到

 2.创建通道“Create Regular Tunnel”

填写云服务器ip以及选择默认的隧道节点,点击Create Tunnel创建。填写ip都,如果出现“IP is a potential tunnel endpoint.”则证明可以添加ipv6隧道,一般隧道节点系统已经默认分配,可以手动选择,大家可以在自己的云服务器上分别ping一下这些ip,选时延低的。

注意:云服务器安全组需要开放ICMP,不然不会出现“IP is a potential tunnel endpoint.

3.创建ipv6隧道及路由

到下一页面切换到Example configurations选项卡,如果你的VPS是centOS/Debian这些常见Linux的话,下拉菜单选择Linux-route2,出现了设置的命令,

注意这样一定要把 local 后面的ip改成内网ip。再在命令最后一行多留一个换行符,不然最后一行命令不会执行。复制到自己的云服务器上运行。重启会实效。

 

4.测试ipv6

添加ipv6的dns服务器,在最后添加nameserver 2001:4860:4860::8888,nameserver 2001:4860:4860::8844谷歌的ipv6 dns服务器

# vim /etc/resolv.conf#重启会实效
options timeout:1 attempts:1 rotate
nameserver x.x.x.x
nameserver x.x.x.x
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
# ping6 -c 5 ipv6.google.com
PING ipv6.google.com(tsa03s01-in-x0e.1e100.net) 56 data bytes
64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=1 ttl=55 time=25.5 ms
64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=2 ttl=55 time=25.5 ms
64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=3 ttl=55 time=33.1 ms
64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=4 ttl=55 time=25.5 ms
64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=5 ttl=55 time=25.4 ms

--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4031ms
rtt min/avg/max/mdev = 25.473/27.040/33.180/3.073 ms

阿里云服务配置

 代理配置好之后服务器中执行ifconfig命令,找到he-ipv6虚拟网卡,找到scope为Global 的ipv6地址,在阿里云后台配置AAAA记录为上面提到的ipv6地址

 

阿里云文档:https://help.aliyun.com/knowledge_detail/39813.html
在线测试:http://ipv6-test.com/validate.php

 

结果显示,已经正确访问到网站。可以通过AppStore审核了。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!