有时候,你会遇到这样的问题:
1. 你的服务器拥有IPV6,DNS里面也正常解析,面板网站也是正常绑定,但是无法访问。(但是要是DNS解析的IPV4对应的确可以访问)。
2. 那是因为Nginx没有监听IPV6,因此使用IPV6的用户无法访问我的网站。作为开发者我想要使IPV6可用,我需要它。(App Store要求应用程序必须支持IPV6)。
3. 有些主机商推出了纯IPv6环境的主机,需要基于ipv6情况下的网络访问。
1. 要想为Nginx启用IPV6监听
①. 首先你需要为你的服务器配置IPV6,只有拥有IPV6地址,你才可以使用。
可以终端输入命令 ifconfig 查询有无IPV6地址。
②. 检查Nginx是否安装IPV6支持。【宝塔默认已开启–with-ipv6支持,此处可掠过】 SSH终端输入:[nginx -V],检查是否具有[–with-ipv6]输出,代表已经安装IPV6模块。
③. 编辑网站配置文件。 查找
listen 80; listen 443 ssl http2;
替换为
listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2;
返回宝塔页面,找到Nginx配置设置,载入配置后重启Nginx。 有时候重启会提示出错,原因是Openresty等不太适配HTTP2, 把配置文件里面的http2删除保存就可以了。
④. 现在你就可以通过IPV6访问你的网站了。
如果设置完无法访问,考虑是不是ipv6防火墙阻止了。 关闭防火墙并清除放行ipv6访问。
ip6tables -F ip6tables -X ip6tables -P INPUT ACCEPT ip6tables -P OUTPUT ACCEPT ip6tables -P FORWARD ACCEPT
依次输入,每输入一行enter执行一次。