首页 > 解决方案 > 在 Beanstalk 的 ALB 上将 http 重定向到 https,而不支持实例上的 https

问题描述

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

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

PS 如果仅在 ALB 中进行身份验证并在端口 80 上通信实例,这是否是一个安全问题?(实例安全组只接受来自 ALB 的请求)

标签: amazon-web-servicesamazon-elastic-beanstalkaws-load-balancer

解决方案


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

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

在此处输入图像描述

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

如果仅在 ALB 中进行身份验证并在端口 80 上通信实例,这是否是一个安全问题?

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


推荐阅读