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

时间:2017-02-03 15:25:18

标签: amazon-web-services ssl load-balancing

我正在尝试配置AWS Application 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连接,这似乎是额外的工作量

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

1 个答案:

答案 0 :(得分:26)

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

如果您确实希望将ALB用于其提供的新功能,并且需要端到端加密,则必须在ALB处终止SSL并在Web服务器上安装SSL证书。 Web服务器证书可能类似于自签名证书,因为只有ALB才会看到该证书,而不是客户端。

我认为出于合规性原因(PCI,HIPAA等)需要端到端加密。否则,没有非常令人信服的理由去解决它的麻烦。