有没有办法过滤 AWS 负载均衡器?
Is there a way to filter AWS Load Balancer?
我有一个带 HTTPS 的 AWS 负载均衡器,指向一个带 HTTP 的实例。问题是我需要部分页面支持 HTTP(不加密)和部分页面加密。对于我想要的 URL,我通常会使用 Apache 的重定向将 HTTP 指向 HTTPS,但这在这里不起作用,因为我的实例仅使用 HTTP。
如何过滤流量,以便我可以在平衡器中仅接受某些 URL 的 HTTP?
编辑:
我根据 Mark 的回答将以下内容添加到我的 Apache VirtualHost 配置中:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
您仍然可以使用 Apache 执行此操作,只需检查 X-Forwarded-Proto
header 而不是协议。
这是 ELB header 文档:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/x-forwarded-headers.html
我有一个带 HTTPS 的 AWS 负载均衡器,指向一个带 HTTP 的实例。问题是我需要部分页面支持 HTTP(不加密)和部分页面加密。对于我想要的 URL,我通常会使用 Apache 的重定向将 HTTP 指向 HTTPS,但这在这里不起作用,因为我的实例仅使用 HTTP。 如何过滤流量,以便我可以在平衡器中仅接受某些 URL 的 HTTP?
编辑:
我根据 Mark 的回答将以下内容添加到我的 Apache VirtualHost 配置中:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
您仍然可以使用 Apache 执行此操作,只需检查 X-Forwarded-Proto
header 而不是协议。
这是 ELB header 文档:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/x-forwarded-headers.html