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.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 https66.com;  

	
	server_tokens off;

	location / {
	  
		fastcgi_param   HTTPS               on;
		fastcgi_param   HTTP_SCHEME         https;

	}
	
}
免备案空间专题