我想从 HTTP 重定向到 HTTPS。我的 Nginx 服务器位于负载均衡器后面,它将为我终止 SSL 并将所有流量(HTTP 和 HTTPS)发送到端口 80。我唯一需要的证据就是通过负载均衡器设置的标头来表明原始请求是 HTTP 还是 HTTPS X-Forwarded-For
。当原始请求在 HTTP 上时,是否有内置的、廉价的方法来处理 Nginx 中的重定向?请记住,我只为端口 80 设置一个服务器。
答案1
假设您保证 X-Forwarded-For 标头仅为 SSL 流量设置...
if ($http_x_forwarded_for) {
return 301 https://$host$request_uri;
}
尽管这可以说是你应该在平衡器上做的事情。