我使用application load balancer将某些路径映射到一台服务器(Apache),将其他路径映射到另一台服务器(Tomcat)。
我通过在负载均衡器上设置https listener,通过https提供了我网站上的所有网页。
因此,客户端对负载均衡器的请求是加密的,但是从负载均衡器到服务器的请求不是。
现在,我还想将所有http请求重定向到https。
我有什么建议吗?
我可以单独重定向每个服务器(即:按照概述here重定向tomcat http请求,并使用重定向规则重定向Apache http请求)。但是,我想知道是否有更简单的方法(即:我只有1个重定向而不是每个服务器的单独重定向)。
感谢。
答案 0 :(得分:0)
我在寻找同一问题的解决方案时发现了这一点。这包含Apache,Nginx和IIS的代码示例。
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
</VirtualHost>
https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/