Technical Blog | 技術博客

易,窮則變,變則通,通則久。是以自天佑之,吉無不利。

[原创] Nginx设置IPV6监听及301重定向和启用SSL强制跳转

简介

Sometimes you will encounter such a problem:

1. My server has IPV6 but cannot access it via IPV6 (accessible only via IPV4).
2. Nginx does not listen to IPV6, so users using IPV6 cannot access my website. As a developer I want to make IPV6 available, I need it. (The App Store requires the app to support IPV6).
3. I need to redirect cxthhhhh.com to www.cxthhhhh.com and I want to force HTTP (80) to jump to HTTPS (443) for the website.
4. [Test] The aaPanel panel itself supports IPV6 support (there is no problem in theory, no test, please feedback, do not play in the official environment)

If you are from an English community, please click here.

有时候,你会遇到这样的问题:

1. 我的服务器拥有IPV6但是无法通过IPV6访问(只能通过IPV4访问)。
2. Nginx没有监听IPV6,因此使用IPV6的用户无法访问我的网站。作为开发者我想要使IPV6可用,我需要它。(App Store要求应用程序必须支持IPV6)。
3. 我需要将cxthhhhh.com重定向到www.cxthhhhh.com,我想为网站强制启用HTTP(80)跳转HTTPS(443)。
4. [测试]宝塔面板自身开启IPV6支持(理论上没问题,未测试,请反馈,不要在正式环境玩)

温馨提示:IPV6套CloudFlare可以实现不爆露IPV4的做法,反正被X了就换一个,IPV6那么多。

让我们开始

1. 我想为Nginx启用IPV6监听

①. 首先你需要为你的服务器配置IPV6,只有拥有IPV6地址,你才可以使用。
任意服务器配置IPV6教程(由tech.cxthhhhh.com提供)
[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 ~ '^cxthhhhh.com'){
return 301 https://www.cxthhhhh.com$request_uri;
}
*你需要修改cxthhhhh.com为你的域名

②.重启Nginx,清除浏览器缓存,你会发现301重定向已经生效。

4. 为宝塔面板自身启用IPV6支持(*宝塔面板自身。为Nginx网站访问启用请看第一条)

python -c "import socket,SocketServer,CGIHTTPServer;SocketServer.TCPServer.address_family=socket.AF_INET6;CGIHTTPServer.test()" 8888

然后你就可以通过IPV6访问你的宝塔面板了,记得把端口8888改成自己的。

非常棒,你已经学会了,快去试试吧

如果你需要其他帮助,这里有一篇推荐文章。
[原创] 一套完整解决方案为新服务器(系统安装、建站环境配置、网络和系统优化、完整备份还原迁移、桌面环境、工具合集)

[Technical Blog | 技術博客]的Telegram交流频道:https://t.me/me_share(TG讨论组群请关注TG频道置顶消息)

这篇文章发表在[CXT] Technical Blog | 技術博客,如果您需要转发分享,请注明出处。

[原创] Nginx设置IPV6监听及301重定向和启用SSL强制跳转

点赞