负载均衡器后面的每个服务器是否需要自己的SSL证书?

如果负载均衡器(例如haproxy)后面有5台Web服务器,并且它们为同一个域提供内容,那么是否需要所有服务器的SSL证书,或者您能否在每台服务器上使用相同的证书?

我知道你可以把所有的SSL请求放在一个特定的服务器上,但这需要分布式的会话信息,并希望它不会这样。

如果负载平衡器(…)后面有5个Web服务器,那么您是否需要所有服务器的SSL证书,

这取决于。

如果在TCP或IP层(OSI层4/3,又名L4,L3)上进行负载平衡,那么所有HTTP服务器都需要安装SSL证书。

如果您在HTTPS层(L7)上进行负载均衡,那么您通常只需在负载均衡器上安装证书,并在负载均衡器和Web服务器之间的本地networking上使用普通的未encryptionHTTP(为了获得最佳性能networking服务器)。

如果你有一个大的安装,那么你可能正在做互联网 – > L3负载平衡 – >层的L7 SSL集中器 – >负载平衡器 – >层的L7 HTTP应用程序服务器…

HAProxy的作者Willy Tarreau 对负载平衡HTTP / HTTPS的规范方式有了很好的概述。

如果您在每台服务器上安装证书,请确保获得支持此证书。 通常情况下,证书可以安装在多个服务器上,只要服务器只为一个完全合格的域名提供stream量。 但是请确认您购买的是什么,证书颁发者可能会产生混淆的产品组合

您应该能够在每台服务器上使用相同的证书。 如果您的网站是www.gathright.com,您应该可以购买该FQDN的证书。 然后,将其安装在平衡器后面的每个5台服务器上。

或者,您可以为每个Web服务器获得一个单独的证书,但是将“www.gathright.com”包含为“Subject Alternative Name”,这意味着5个证书中的每一个对于通用FQDN的SSL都是有效的,以及SSL到特定的服务器FQDN。

是的 ,您可以在所有服务器上使用相同的证书和相关私钥(如果它们位于负载平衡器或负载平衡逆向代理之后,并且它们都为同一域提供内容)。

证书由证书颁发机构签署后,声明证书颁发机构validation了证书上列出的名称 。 对于网站的证书,这意味着网站的域名。 您的浏览器期望与其通话的服务器(如果通过HTTPS通话)提供与浏览器认为正在与之通话的域名具有相同名称的证书。 (例如,VeriSign不可能签署Hacker Joe的bankofamerica.com证书,所以即使Hacker Joe设法拦截您和bankofamerica.com之间的stream量,Hacker Joe也不会拥有bankofamerica.com和您的浏览器的签名证书会在整个地方贴上大红色的警告标志。)

重要的是,证书上的名称与浏览器认为正在与之通话的域名相匹配。 只要位于负载均衡器后面,就可以在Web群集中的多个Web服务器上使用带有正确名称的相同证书(以及相关的私钥)。

您还可以使用SSL终止负载均衡器,在这种情况下,您将使用负载均衡器上的证书(以及相关的私钥),Web服务器将不需要证书,因为它们不会有任何关系SSL。

我们的设置工作得很好:

https trafic | pound | http traffic | haproxy | http traffic | web server 1 ... web server n 

这样英镑解密stream量,从这里一切都是直的HTTP。 优点:在Web服务器上configuration较less,每个作业都有一个工具。 您可以最大限度地在英镑机器上的CPU,并保持Web服务器“正常”。 如果正常运行时间很重要,你应该至less得到两个(磅,haproxy,networking服务器)。

AFAIR,您可以在每台服务器上使用相同的证书。 您也可以实施SSL加速器,并将所有SSLstream量卸载到它。