应用程序 ELB 将 HTTP 转发到 HTTPS

Application ELB forward HTTP to HTTPS

这是一个很常见的问题,但我不知道如何解决它以及为什么 Application Load Balancing 没有针对它的选项。

我为 ECS 设置了一个 Application ELB 并监听 80 和 443,现在,我想将所有 HTTP 调用转发到 HTTPS 。有什么办法? 因为在规则中,我唯一能做的就是转发给实例。 我是否必须部署一个容器来进行转发?我是否需要另一个 ELB(可能是网络)来将 HTTP 转发到 HTTPS?

您无法使用 ALB 从 HTTP 转发到 HTTPS。为此,您需要使用 proxy container 或在应用程序容器中的 Web 服务器上执行此操作。

如果您在 Web 应用程序前面使用 AWS Cloudfront 来缓存内容,您也可以在那里进行重定向。

我有同样的问题,我用两个目标组做了 ALB 平衡器

第一组80端口

第二个是 443 端口

两者都是 http

然后我在 ALB 中做了指向这些组的 http 和 https 监听器

http 侦听器 -> 目标组端口 80

https 侦听器 -> 目标组端口 443

自动缩放实例应该附加到两个目标组

在端口 80 的目标组中,我将规则重定向到 https