在实例不支持 https 的情况下,将 Beanstalk 的 ALB 上的 http 重定向到 https

Redirect http to https on Beanstalk's ALB without support of https on the instance

我有以下 beantalk 环境:https(443) -> ALB -> http(80) 到实例。 ALB 侦听器仅接受 HTTPS 请求并使用 SSL 证书进行身份验证,然后处理到默认端口 80。

一切正常,但我想知道是否也可以将 HTTP 端口 80 请求重定向回 ALB HTTPS 侦听器而无需在实例上支持 HTTPS? 当我尝试创建重定向进程时它失败了,因为它尝试在端口 443 上进行健康检查并且实例不支持它。

P.S。如果只在 ALB 中完成身份验证并且它在端口 80 上通信实例,这是否是一个安全问题? (实例安全组只接受来自 ALB 的请求)

从端口 HTTP 到 HTTPS 的重定向最好使用 EC2 控制台设置,而不是 EB 控制台。为此,您必须转到 EC2 控制台 -> 负载均衡器。

然后您可以将 HTTP:80 侦听器上的现有规则从 Forward 修改为 Redirect,如下所示:

上述更改不会影响您的任何健康检查。

Is it a security issue if authentication done only in ALB and it communicate instances on port 80?

是的。这是最常见的做法。 ALB 和您的实例之间的 HTTP 流量仅遍历 AWS 网络,而不是 Internet。所以它对 public 眼睛是安全的。但显然,您仍然可以在 ALB 和实例之间设置 HTTPS,但这需要额外的工作并且会给您的实例带来更多压力,因为它们现在还必须处理 SSL 加密和解密。