前几天一直在折腾网站的HTTPS,毕竟HTTP容易被劫持。
但是,一般输入域名,很少有人带上http://或https://,而浏览器一般默认访问http站点。
所以需要设置HTTP 301重定向到HTTPS。
ps:当初百度HTTPS认证恶心到我了
在Nginx配置文件里添加以下任意一种就行:
1#方法1,凡是80端口的都301
2server {
3 listen 80;
4 server_name idzd.top www.idzd.top;
5 return 301 https://www.idzd.top$request_uri;
6}
7
8##其他的同时监听80、443端口的配置(比如宝塔面板)
9server
10{
11 listen 80;
12 listen 443 ssl http2;
13 server_name idzd.top www.idzd.top;
14
15 #方法2,判断443端口
16 if ($server_port !~ 443){ return 301 https://www.idzd.top$request_uri;}
17 #方法3,判断80端口
18 if ($server_port = 80 ) {return 301 https://www.idzd.top$request_uri; }
19 #方法4,判断协议
20 if ($scheme = http ) {return 301 https://www.idzd.top$request_uri; }
21 #方法5,判断ssl附加数据
22 if ($ssl_protocol = "") { return 301 https://www.idzd.top$request_uri; }
23 #方法6,判断域名(需要和其他方法搭配)
24 if ($host != 'www.idzd.top') {return 301 https://www.idzd.top$request_uri; }
25
26 #部分配置省略,请勿照搬!
27}