如何在Nginx和Apache中启用IPv6?

大多数像Cloudflare、SUCURI、AKAMAI这样的CDN都可以让您在其边缘网络上启用IPv6。然而,如果您没有使用提供IPv6并且需要启用您的网站的CDN,那么您可以按照以下步骤进行。

IPv6比IPv4具有性能优势。它可以将页面加载时间从25毫秒降低到300毫秒。根据SUCURI的一份有趣的报告,全球前1000个网站中有16%支持IPv6,而前100万个网站中有7%支持IPv6。

如果尚未启用,请尽快在您的网站上启用IPv6。

先决条件 – 您必须确保操作系统级别上已启用IPv6。如果您使用的是RHEL/CentOS,则需要进行如下操作may refer to this guide

让我们看看在Apache HTTP和Nginx Web服务器中实现IPv6的步骤。

如何在Linux上查找IPv6?

在启用IPv6之前,您需要知道IPv6地址。在Linux/CentOS中,有多种方法可以找到IPv6。

使用ifconfig

您可以使用ifconfig命令和grep inet6来查找地址

[root@chandan conf]# ifconfig |grep inet6
        inet6 2400:6180:0:d0::1f33:d001  prefixlen 64  scopeid 0x0
        inet6 ::1  prefixlen 128  scopeid 0x10
[root@chandan conf]#

使用IP Show

[root@chandan conf]# ip -6 addr show
1: lo:  mtu 65536 state UNKNOWN qlen 1
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 state UP qlen 1000
    inet6 2400:6180:0:d0::1f33:d001/64 scope global 
       valid_lft forever preferred_lft forever
[root@chandan conf]#

现在您知道了服务器的IPv6地址。

在Apache HTTP服务器中启用IPv6

我假设您已经安装并运行了installed Apache

  • 进入conf文件夹(默认安装位置为/etc/httpd/conf)
  • 备份httpd.conf文件
  • 添加Listen指令和端口号
Listen [2400:6180:0:d0::1f33:d001]:80

注意:请确保将IPv6放在square框中。

  • 重启Apache HTTP服务器
service httpd restart
[root@chandan conf]# netstat -anlp |grep 80
tcp        0      0 139.59.227.20:80        0.0.0.0:*               LISTEN      23047/httpd         
tcp6       0      0 2400:6180:0:d0::1f33:80 :::*                    LISTEN      23047/httpd         
unix  2      [ ACC ]     STREAM     LISTENING     14080    1091/master          public/qmgr
[root@chandan conf]#

如您所见,第二行以tcp6开头。

在Nginx Web服务器中启用IPv6

默认情况下,Nginx配置为侦听IPv6地址。如果您查看nginx.conf文件,应该看到以下内容。

listen       [::]:80 default_server;

如果您只有一个IPv6地址,那么没问题;然而,如果您有多个地址并且希望Nginx侦听特定的IP,则需要进行以下调整。

listen       [2400:6180:0:d0::1f33:d001]:80 default_server;

重新启动Nginx以验证其是否在特定IP上侦听

[root@chandan conf]# netstat -anlp |grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      23257/nginx: master 
tcp        0      0 139.59.227.20:80        66.249.75.68:63906      TIME_WAIT   -                   
tcp        0      0 139.59.227.20:80        66.249.75.72:58416      TIME_WAIT   -                   
tcp6       0      0 2400:6180:0:d0::1f33:80 :::*                    LISTEN      23257/nginx: master 
unix  2      [ ACC ]     STREAM     LISTENING     14080    1091/master          public/qmgr
[root@chandan conf]

这很简单,不是吗?

更新DNS AAAA记录

您需要做的最后一步是更新注册商处域名的AAAA记录。更新后,您可以通过执行来验证记录。您还可以使用检查您的网站是否可通过IPv6访问。

类似文章