0、导语
之前刚上高中的时候,搭建了一个校园社区网站。
网站是中国大陆的,域名也没有备案,但始终没有被拦截,也是非常神奇。
但是有同学跟我反馈,联通网络的用户打开我的网站会被备案拦截。
于是我就使用了81端口。在宝塔添加时,提示域名已存在。不得已,我再解析了一个二级域名,使用81端口访问。
但是这样一来,就只能通过HTTP访问网站。通过修改配置文件的方法,实现了非标准端口HTTPS,但是会被“强制HTTPS”重定向到443端口。
因此,本篇文章就来介绍一下修改配置Nginx文件,实现非标准端口HTTPS访问的方案。
1、添加端口
在宝塔中,有许多端口都无法直接添加,例如8888和8080。因此可以在配置文件中添加:
1 | listen 8080; |
以绑定8080端口作为网站的HTTP端口。
若要使用HTTPS,请在配置了SSL证书后再添加:
1 | listen 8888 ssl http2; |
以绑定8888端口作为网站的HTTPS端口。
2、修改强制HTTPS内容
开启强制HTTPS后,会自动添加:
1 | #HTTP_TO_HTTPS_START if ($server_port !~ 443){ rewrite ^(/.*)$ https://$host$1 permanent; } #HTTP_TO_HTTPS_END |
其原理为:将非443端口重定向至443端口。
可以将其改为
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
其原理为:仅将80端口重定向至443端口,这样就不会影响特殊端口的HTTPS访问。
3、子域名HTTPS访问
复制已配置SSL的站点的配置文件:
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
到子域名对应的配置文件片段下。
并按照上文在
1 | listen 80; |
下添加
1 | listen 443 ssl http2; |
即可实现子域名的HTTPS访问。
如果需要开启强制HTTPS,复制对应配置文件片段即可。
Nginx非标准端口或子域名开启SSL
评论