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

Joh*_*n R 18 ssl load-balancing amazon-web-services

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

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

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

根据我从AWS文档中收集的信息,可以使用经典负载均衡器(通过TCP传递)以这种方式传递流量.但是,Application Load Balancer看起来好像要终止HTTPS连接本身,然后执行以下操作之一:

  • 将流量发送到未加密的Web服务器,由于合规性原因,我无法做到这一点
  • 创建一个到Web服务器的新HTTPS连接,这似乎是额外的工作量

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

Mar*_*k B 30

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

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

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

  • 此后,AWS已发布了网络负载平衡器,该网络负载平衡器是通过负载平衡器传输到实例/组/ ip的TCP,因此您可以在实例上使用nginx或SSL上的任何东西,并且应该更快一些=) (2认同)