有时候,你会遇到这样的问题:
1. 我的服务器拥有IPV6但是无法通过IPV6访问(只能通过IPV4访问)。
2. Nginx没有监听IPV6,因此使用IPV6的用户无法访问我的网站。作为开发者我想要使IPV6可用,我需要它。(App Store要求应用程序必须支持IPV6)。
让我们开始
1. 我想为Nginx启用IPV6监听
①. 首先你需要为你的服务器配置IPV6,只有拥有IPV6地址,你才可以使用。
任意服务器配置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;
查找
listen 80;
listen 443 ssl http2;
替换为
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
重启Nginx
④. 现在你就可以通过IPV6访问你的网站了。
2.强制为我的站点启用SSL
①. 在网站配置文件新增以下内容
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
②.重启Nginx,清除浏览器缓存,你会发现HTTP(80)网站自动跳转到HTTPS(443)。