如何在Nginx和Apache中启用IPv6?

本文概述

大多数CDN, 例如Cloudflare, SUCURI, AKAMAI, 都可以从其边缘网络启用IPv6。但是, 如果你未使用提供IPv6的CDN并需要启用你的网站, 则可以按照以下方法进行操作。

IPv6比IPv4具有性能优势。它可以帮助将页面加载时间从25ms减少到300ms。 SUCURI的一份有趣的报告显示, 全球前1000个站点中有16%支持IPv6, 而前100万个站点中则有7%。

如何在Nginx和Apache中启用IPv6?2

如果尚未启用, 最好在你的网站上启用。

前提条件–你必须确保在操作系统级别启用了IPv6。如果你使用的是RHEL / CentOS, 则可以参考本指南。

让我们看看在Apache HTTP和Nginx Web服务器上实现IPv6的过程。

如何在Linux上找到IPv6?

在启用IPv6之前, 你需要知道IPv6地址。在Linux / CentOS中有多种定位IPv6的方法。

使用ifconfig

你可以将ifconfig与grep inet6一起使用以查找地址

[[email protected] conf]# ifconfig |grep inet6
        inet6 2400:6180:0:d0::1f33:d001  prefixlen 64  scopeid 0x0<global>
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
[[email protected] conf]#

使用IP Show

[[email protected] conf]# ip -6 addr show
1: lo: <LOOPBACK, UP, LOWER_UP> mtu 65536 state UNKNOWN qlen 1
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST, MULTICAST, UP, LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2400:6180:0:d0::1f33:d001/64 scope global 
       valid_lft forever preferred_lft forever
[[email protected] conf]#

因此, 现在你知道了服务器的IPv6地址。

在Apache HTTP Server中启用IPv6

我假设你已经安装了Apache, 并且可以正常运行。

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

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

  • 重新启动Apache HTTP服务器
service httpd restart
[[email protected] 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
[[email protected] 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

[[email protected] 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
[[email protected] conf]

很简单, 不是吗?

更新DNS AAAA记录

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

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?