【发布时间】:2017-06-21 00:31:16
【问题描述】:
我正在尝试配置 AWS Application Load Balancer(相对于 Classic Load Balancer)以将流量分配到我的 EC2 Web 服务器。出于合规性原因,我需要对我的应用程序进行端到端 SSL/HTTPS 加密。
在我看来,确保客户端和 Web 服务器之间的通信全程加密的最简单方法是终止 Web 服务器上的 HTTPS 连接。
我的第一个问题:是否可以通过 AWS Application Load Balancer 以这种方式将 HTTPS 流量传递到负载均衡器后面的 Web 服务器?
根据我从 AWS 文档中收集到的信息,可以使用 Classic Load Balancer 以这种方式传递流量(通过 TCP 传递)。但是,Application Load Balancer 似乎想要终止 HTTPS 连接本身,然后执行以下操作之一:
- 向未加密的 Web 服务器发送流量,出于合规性原因,我无法这样做
- 创建到 Web 服务器的新 HTTPS 连接,这似乎是额外的工作量
我的第二个问题:对文档的理解正确吗?
【问题讨论】:
-
我没有在 AWS 上尝试过这个,但我使用 HaProxy 作为我的生产服务器通过 SSL/HTTPS 传递到 Nginx。
-
我不确定
send traffic to the web servers unencrypted这是否正在发生。我会开始 aws.amazon.com/blogs/aws/… 或 docs.aws.amazon.com/elasticbeanstalk/latest/dg/… 希望这会有所帮助 -
@MuqeetKhan 如果您在负载均衡器上终止 SSL 并且没有在 Web 服务器上安装 SSL 证书,这正是发生的情况。如果 Web 服务器上没有 SSL 证书,负载均衡器和服务器之间的流量怎么可能被加密?
-
@John R 你能分享一下你是如何做到的吗
-
@ArbabNazar 就我的记忆而言(这是一年前的事,我现在换了一份工作)我使用带有 TCP 传递的 Classic Load Balancer 做到了这一点。然后终止负载均衡器后面的 Web 服务器上的 HTTPS 连接。我没有使用 Application Load Balancer。
标签: amazon-web-services ssl load-balancing