我正在尝试配置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连接本身,然后执行以下操作之一:
我的第二个问题:对文档的理解是否正确?
答案 0 :(得分:26)
在Web服务器上终止SSL连接需要您将负载均衡器侦听器从HTTPS更改为TCP。 ALB不支持这一点,只支持经典的ELB。此外,如果您在Web服务器上终止SSL,负载均衡器将无法检查请求,因为它无法解密它,因此它无法完成所有花哨的新路由ALB支持。
如果您确实希望将ALB用于其提供的新功能,并且需要端到端加密,则必须在ALB处终止SSL并在Web服务器上安装SSL证书。 Web服务器证书可能类似于自签名证书,因为只有ALB才会看到该证书,而不是客户端。
我认为出于合规性原因(PCI,HIPAA等)需要端到端加密。否则,没有非常令人信服的理由去解决它的麻烦。