nginx http跳转到https
-
修改nginx配置文件"nginx.conf"
-
找到"server"结点
-
如将80端口http跳转到443端口时使用如下方式:
server {
listen 80;
listen [::]:80;
server_name server_name;
return 301 https://$http_host$request_uri; #第一种方式:(推荐)
rewrite ^(.*) https://$server_name$1 permanent; #第二种方式
error_page 497 https://$host:8080$request_uri; #第三种方式,重新定义端口
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
- 如https端口为其它端口,需要原端口http跳转为https使用如下方式:
server {
listen 8888 ssl http2;
server_name server_name_ssl;
ssl_certificate /home/ssl/rsa.pem;
ssl_certificate_key /home/ssl/rsa.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
error_page 497 301 =307 https://$host:$server_port$request_uri; #如https为特殊端口时可使用此方式客户端访问http时自动为https
root /usr/share/nginx/html;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}