Nginx 自动跳转到HTTPS Nginx设置http自动跳转https SSL配置

Nginx 自动跳转到HTTPS Nginx设置http自动跳转https SSL配置

方法一

rewrite ^(.*)$ https://$host$1 permanent;

方法二

适用于 80端口和443 配置在同一个 server{}内

if ($server_port = 80) {
 rewrite ^(.*)$ https://$host$1 permanent;
}

其他情况, 站点绑定很多域名,只让某个域名跳转:

set $redirect_https 1;
if ($server_port = 80) {
 set $redirect_https "${redirect_https}2";
}
if ($http_host = 'www.yourdomain.com') {
 set $redirect_https "${redirect_https}3";
}
if ($http_host = 'yourdomain.com') {
 set $redirect_https "${redirect_https}3";
}

if ($redirect_https = "123") {
rewrite ^(.*)$ https://$host$1 permanent;
}

示例

server {
 listen 80;
 server_name www.getssl.cc;
 rewrite ^ https://$http_host$request_uri? permanent;
}

server {
 listen 443;
 ssl on;
 ssl_certificate /etc/ssl/cacert.pem;
 ssl_certificate_key /etc/ssl/privkey.pem;
 server_name www.yourdomain.com; 

 
 server_tokens off;

 location / {
 
 fastcgi_param HTTPS on;
 fastcgi_param HTTP_SCHEME https;

 }
 
}
川公网安备 51019002001185号