我的Web服务器在AWS ELB后面运行nginx。我已经将ELB设置为接受https连接,并通过http将请求发送到Web服务器。我还想接受与ELB的http连接,并将它们重定向到https。

解决此重定向问题的所有解决方案都涉及在Web服务器上处理https并将其重定向到http。

有没有办法在不处理Web服务器上的重定向的情况下执行此操作?我宁愿不必在ELB和所有Web服务器上都拥有ssl证书。

最佳答案

是的,这很常见。这将取决于您的Web服务器,但是您会寻找X-Forwarded-Proto标头。如果将其设置为http,请重定向用户。

Here's Amazon's documentation on the X-Forwarded-* headershere's a blog entry talking about one way to implement the forward in nginx

09-27 07:45