我在AWS ELB后面运行nginx的Web服务器。我已将ELB设置为接受https连接,并通过http将请求发送到Web服务器。我还想接受与ELB的http连接,并将它们重定向到https。
此重定向问题的所有解决方案都涉及在Web服务器上处理https并将其重定向到http。
有没有办法在不处理网络服务器重定向的情况下执行此操作?我宁愿不必在ELB和所有网络服务器上获得我的ssl证书。
答案 0 :(得分:2)
是的,这很常见。这取决于您的网络服务器是什么,但您查找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。