0%

Nginx之http转https配置方法

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 站点。