Nginx之http转https配置方法
方案一、常规方案
方法1
1 2 3
| if ( $scheme = http ) { return 301 https://$host$request_uri; }
|
方法2
1 2 3
| if ( $server_port = 80 ) { return 301 https://$host$request_uri; }
|
方法3
1 2 3 4 5
| server { listen 80; server_name www.abc.com; return 301 https://$server_name$request_uri; }
|
方法4
1 2 3
| if ( $host = "www.abc.com" ) { rewrite ^/(.*)$ https://www.abc.com permanent; }
|
方案二、处理全部 HTTP 重定向
通过如下配置,以后无需再为域名添加 HTTP 配置。
1 2 3 4 5 6 7
| server { listen 80 default_server;
server_name _;
return 301 https://$host$request_uri; }
|
解释说明:由于 default_server 的存在,那些未配置的 HTTP 域名将匹配该 server {} 块,然后 return 301 将重定向到对应的 HTTPS 站点。