如何configuration我的Elastic Load Balancer以平衡SSLstream量?

我完全失去了,所以我道歉,如果我没有意义。

我需要在EC2中为我们的应用程序服务器创build一个负载平衡器。 我试图通过SSL进行ELB余额stream量(8443)。 但是,它要求我提供SSL证书。 它看起来是要求我的公钥和私钥(pem编码)。

ELB后面的服务器有一个密钥库文件,我们的开发者使用Oracle Java的keytool程序创build了这个文件。 创build的文件是二进制的。 它看起来像ELB期待一个文本,Pem格式的密钥。

  1. 为什么ELB要求我input证书? ELB不能将SSLstream量从一端转发到另一端,让服务器处理SSL?
  2. 相关的证书/密钥库文件和密钥必须在ELB和服务器上匹配吗? AWS文件表示使用openssl创build私钥和证书。 我可以独立运行openssl为负载平衡器创buildSSL证书,并将密钥库文件保留在服务器上吗?

在此先感谢您的帮助。

在您的负载平衡器上执行SSL终止的优点是,您可以免除您的后端节点必须执行SSLencryption/解密。

因此,只需将您的SSL私钥和签名证书部署到ELB即可。 这将负责SSL终止,然后可以将stream量代理encryption到您的后端实例。 如果您希望ELB和后端实例之间的stream量被encryption,那没问题,但是您仍然需要ELB来获得您的私钥和签名证书。

关于从java密钥库中获取证书和密钥,这当然是可能的。 这个在Stackoverflow上的问答有详细信息。

ELB可以以两种方式之一使用:

  1. 在ELB的SSL终止。

    在这种模式下,您将授予ELB证书和密钥。 它将解密该请求并将其未encryption传递给您的服务器。 这样做的好处是可以减less服务器的CPU负载。

  2. ELB只是作为一个传递。

    ELB可以作为一个愚蠢的传递。 它不需要证书或密钥。 为了以这种方式进行设置,不要使用HTTPS选项,而要将其设置为TCP端口。

  1. 就客户而言,ELB是端点。 它添加元数据标题等ELB目前无法证书SSL服务。

  2. ELB必须拥有你想要的外部证书,但是实际的证书不需要匹配。 他们可以自签名。 您甚至不需要在您的实例上安装证书,但数据将在实例和ELB之间的AWS基础架构上传输。 只要有效,您可以用任何您喜欢的方式创build证书。