应用程序负载均衡器 (ELBv2) SSL 直通

Application Load Balancer (ELBv2) SSL pass through

我正在尝试配置 AWS Application Load Balancer(相对于 Classic Load Balancer)以将流量分配到我的 EC2 Web 服务器。出于合规性原因,我需要为我的应用程序进行端到端 SSL/HTTPS 加密。

在我看来,确保客户端和网络服务器之间的流量全程加密的最简单方法是终止网络服务器上的 HTTPS 连接。

我的第一个问题:是否可以通过 AWS Application Load Balancer 以这种方式将 HTTPS 流量传递到负载均衡器后面的 Web 服务器?

根据我从 AWS 文档中收集到的信息,可以使用 Classic Load Balancer(通过 TCP 传递)以这种方式传递流量。但是,Application Load Balancer 看起来想要自己终止 HTTPS 连接,然后执行以下操作之一:

我的第二个问题:对文档的理解是否正确?

终止 Web 服务器上的 SSL 连接需要您将负载平衡器侦听器从 HTTPS 更改为 TCP。 ALB 不支持这个,只支持经典的 ELB。此外,如果您在 Web 服务器上终止 SSL,负载均衡器将无法检查请求,因为它无法解密它,因此它无法执行所有花哨的新路由操作ALB 支持。

如果您真的想使用 ALB 来获得它提供的新功能,并且您需要 end-to-end 加密,您将必须在 ALB 处终止 SSL,并在 Web 服务器上安装 SSL 证书. Web 服务器证书可能类似于 self-signed 证书,因为只有 ALB 会看到该证书,而不是客户端。

我假设您出于合规原因(PCI、HIPAA 等)需要 end-to-end 加密。否则,没有非常令人信服的理由去经历设置的麻烦。