好吧,这可能是一个菜鸟问题,但这是我的情况。
我喜欢做什么:1.一个完整的HTTPS连接到我的EC2应用程序,目前绑定到8080。
什么是实现它的正确方法? 1.我应该只上传一个SSL证书到负载均衡器,强制客户端和负载均衡器之间的SSL连接? 我应该让负载均衡器和EC2之间的stream量受到安全组的保护吗?
要么 –
要么 –
有什么我失踪谢谢,
您需要的最简单的configuration可能是:
这将从您的EC2实例卸载encryption到ELB。
可选额外:
这样,如果您的客户端通过HTTP连接,它们将自动redirect到HTTPS。
通常你的负载平衡器会处理与你的客户端的https连接,然后它将连接回原始的tomcat服务器,以便通过普通的http获得内容(因为没有太多的需要encryption短暂的跳跃,大概是你可以信任本地networking)。 您应该设置您的负载均衡器将其接收到的任何http请求redirect到https,并且您只需要在负载均衡器上设置https证书。 对于tomcat后端,您需要确保所有链接都是相对的,或者告诉客户端去https。
我不是100%确定这是否是你以后的事情,所以让我知道是否有什么不同,你想知道。
我认为接受的答案是不正确的。 将SSL证书上载到负载均衡器并询问HTTPS通道将导致负载均衡器解密SSLstream量,并在负载均衡器后面解密SSLstream量。 (OP向应用程序要求SSL)。
根据ELB文档
“如果您不希望负载平衡器处理SSL终止(称为SSL卸载),则可以将TCP用于前端和后端连接,并在注册的实例处理请求上部署证书。
所以,正确的做法是转发TCP:443(在负载均衡器) – > TCP:443(在实例或其他端口)。
如果您想要端到端encryption,则必须在应用程序服务器上安装SSL密钥。
这也意味着ELB不能摆弄你的HTTPS头 – 我认为这是粘性连接所需要的。 对于无状态的应用程序服务器来说,这是一个非问题。