前几天一直在折腾网站的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}