宝塔面板配置Nginx启用IPv6监听、301重定向以及SSL教程

3年前 (2018-08-25)阅读143回复0
admin
admin
  • 管理员
  • 注册排名1
  • 经验值1035
  • 级别管理员
  • 主题207
  • 回复0
楼主
有时候,你会遇到这样的问题:
1. 我的服务器拥有IPV6但是无法通过IPV6访问(只能通过IPV4访问)。 2. Nginx没有监听IPV6,因此使用IPV6的用户无法访问我的网站。作为开发者我想要使IPV6可用,我需要它。(App Store要求应用程序必须支持IPV6)。 3. 我需要将www.ipv6.la重定向到ipv6.la,我想为网站强制启用HTTP(80)跳转HTTPS(443)。 4. [测试]宝塔面板自身开启IPV6支持(理论上没问题,未测试,请反馈,不要在正式环境玩)
温馨提示:IPv6套CloudFlare可以实现不爆露IPv4的做法,反正被X了就换一个,IPV6那么多。
让我们开始
1. 我想为Nginx启用IPv6监听
①. 首先你需要为你的服务器配置IPv6,只有拥有 IPv6地址,你才可以使用。 任意服务器配置IPv6教程 [Original] 手动给任意服务器配置 IPv6
②. 检查Nginx是否安装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
④. 现在你就可以通过 IPv6访问你的网站了。
2. 强制为我的站点启用SSL
①. 在网站配置文件新增以下内容 if ($server_port !~ 443){ rewrite ^(/.*)$ https://$host$1 permanent; }
②.重启Nginx,清除浏览器缓存,你会发现HTTP(80)网站自动跳转到HTTPS(443)。
3. 我要将网站301重定向到不带www的子域名
①. 在网站配置文件新增以下内容 if ($host ~ '^www.ipv6.la'){ return 301 https://ipv6.la$request_uri; } *你需要修改ipv6.la为你的域名
②.重启Nginx,清除浏览器缓存,你会发现301重定向已经生效。
4. 为宝塔面板自身启用IPv6支持(*宝塔面板自身。为Nginx网站访问启用请看第一条)
python -c "import socket,SocketServer,CGIHTTPServer;SocketServer.TCPServer.address_family=socket.AF_INET6;CGIHTTPServer.test()" 8888
然后你就可以通过 IPv6访问你的宝塔面板了,记得把端口8888改成自己的。
非常棒,你已经学会了,快去试试吧
0
回帖

宝塔面板配置Nginx启用IPv6监听、301重定向以及SSL教程 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息