我正在使用 application load balancer将某些路径映射到一台服务器 (Apache) 并将其他路径映射到另一台服务器 (Tomcat)。
我通过设置 https listener 使我网站上的所有页面都可以通过 https 访问在负载均衡器上。
因此从客户端到负载均衡器的请求是加密的,但从负载均衡器到服务器的请求不是。
现在,我还想将所有 http 请求重定向到 https。
有什么建议可以做到这一点吗?
我可以分别重定向每个服务器(即:按照概述重定向 tomcat http 请求 here 并使用重定向规则重定向 Apache http 请求)。但是,我想知道是否有更简单的方法来做到这一点(即:我只有 1 个重定向而不是每个服务器的单独重定向)。
谢谢。
最佳答案
我在寻找相同问题的解决方案时发现了这一点。这有 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/
关于amazon-web-services - 使用 Application Load Balancer 将 http 重定向到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43709823/