Nginx自动跳转到HTTPS |
方法一: 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.changxingyun.com') { set $redirect_https "${redirect_https}3"; } if ($http_host = 'changxingyun.com') { set $redirect_https "${redirect_https}3"; } if ($redirect_https = "123") { rewrite ^(.*)$ https://$host$1 permanent; } 配置示例: server { listen 80; server_name www.changxingyun.com; 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.changxingyun.com; server_tokens off; location / { fastcgi_param HTTPS on; fastcgi_param HTTP_SCHEME https; } } |