nginx设置http自动跳转到https,配置文件如下:
server {
listen 80 ;
listen 443 ssl http2 ;
server_name xxx.xxx.com;
server_tokens off;
ssl_certificate_key /etc/nginx/ssl/default.key;
ssl_certificate /etc/nginx/ssl/default.crt;
ssl_certificate_by_lua_block {
require('ssl_certificate').set_certificate()
}
if ($scheme = http) { # 设置301跳转,设置http跳转到https
return 301 https://$server_name$request_uri;
}
set $mobile_rewrite do_not_perform;
set $proxy_pass http://xxx.xxx.xxx.xxx; # 设置需要跳转到的真实服务
if ($mobile_rewrite = perform1) {
return 301 https://xxx.xxx.com;
}
location / {
proxy_pass $proxy_pass;
include proxy_params;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
error_page 404 /404.html;
location = /404.html {
root html;
}
}