我已经配置nginx将请求升级为https
server {
listen xxx.xxx.xxx.xxx:80;
listen xxx.xxx.xxx.xxx:443 ssl;
server_name example.com www.example.com
access_log /var/log/nginx/www.example.com_access.log;
error_log /var/log/nginx/www.example.com_error.log warn;
ssl_certificate /etc/nginx/ssl/certificates/www.example.com.crt;
ssl_certificate_key /etc/nginx/ssl/certificates/www.example.com.key;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
#https://www.scalescale.com/tips/nginx/504-gateway-time-out-using-nginx/
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
proxy_pass https://xxx.xxx.xxx.xxx:8443/;
index index.html ;
}
}
但配置并未将请求升级为 https。
最佳答案
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com www.example.com;
...
}
如果您不需要加密后端和 nginx 实例之间的流量(如果它们在同一服务器上工作,那么您肯定不需要它),请删除 proxy_pass
指令以获得一些性能优势。
关于Nginx 未升级到 Https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62278887/