我的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-* headers和here's a blog entry talking about one way to implement the forward in nginx。