网站添加ipv6访问

佚名 2021-1-7 1,195 1/7

本文简要介绍给网站添加ipv6的配置过程。

配置流程

1. 首先服务器要有ipv6地址。如果是海外vps,大部分情况下都有(或者可在网页控制台直接添加)。

有ipv6公网地址后,Linux系统在终端输入 ip addr, 会有类似输出:

inet6 240b:4001:1:400:e72d:dab:c902:b662/64 scope global
   valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fe01:c27b/64 scope link
   valid_lft forever preferred_lft forever

注意:

  1. 根据ipv6规范,必须要有两个ipv6地址,其中一个是本地的link,以及外界能访问的global。如果你的系统输出没有global,说明没有公网ipv6地址,请咨询vps运营商帮忙处理;
  2. 在国内云服务商处申请ipv6地址后,请记得到安全组放行ipv6的相应端口。

2. 配置web服务器软件/中间件监听ipv6流量。本人用的Nginx,配置上就很简单了,添加一行listen即可:

server {
    listen 80;
    listen [::]:80;
    server_name www.xxx.com xxx.com;
    rewrite ^(.*) https://$server_name$1 permanent;
}

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name www.xxx.com xxx.com;
    # 一些其他配置
}

配置好后用 nginx -t 测试有无配置错误,没有的话用 systemctl restart nginx 重启。

注意:

  1. 从Nginx 1.3开始,ipv6only默认是on,请勿在监听ipv6的行添加ipv6only=on,否则会出现“nginx: [emerg] duplicate listen options for [::]:80”的错误!
  2. 如果你启用了ip6tables,请记得放行相应端口。

3. 登录dns解析后台,添加AAAA记录,指向ipv6地址。添加成功后,可通过 nslookup 等工具查看解析到的ipv6地址:

[xxx@node13 ~]$ nslookup xxx.com
Server:		100.100.2.136
Address:	100.100.2.136#53

Non-authoritative answer:
Name:	xxx.com
Address: 47.75.187.245
Name:	xxx.com
Address: 240b:4001:1:400:e72d:dab:c902:b662

如果你的客户端有ipv6地址,可以通过 ping -6 xxx.com 类似的方式查看域名的ipv6地址。

4. 测试网站是否已经成功配置ipv6。本人推荐使用 https://ipv6-test.com/validate.php 提供的服务。

如果你熟悉命令行,也可以使用 curl -6 https://xxx.com 等工具测试。

如果测试通过,恭喜你,你的网站已经正式支持ipv6了!

- THE END -

佚名

1月07日20:42

最后修改:2021年1月7日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论