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

Der*_*ght 76 ssl load-balancing

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

我知道您可以将所有 SSL 请求放在特定服务器上,但这需要分布式会话信息,并希望它不会出现。

Jes*_*r M 77

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

这取决于。

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

如果您在 HTTPS 层 (L7) 上进行负载平衡,那么您通常会单独在负载平衡器上安装证书,并在负载平衡器和网络服务器之间的本地网络上使用纯未加密的 HTTP(以获得最佳性能)网络服务器)。

如果您有一个大型安装,那么您可能正在执行 Internet -> L3 负载平衡 -> L7 SSL 集中器层 -> 负载平衡器 -> L7 HTTP 应用程序服务器层...

HAProxy 的作者 Willy Tarreau 对HTTP/HTTPS 负载平衡规范方法有一个非常好的概述。

如果您在每台服务器上都安装了一个证书,那么一定要获得一个支持它的证书。通常证书可以安装在多台服务器上,只要这些服务器都只为一个完全限定域名服务。但是请确认您购买的是什么,证书颁发者的产品组合可能会令人困惑...

  • 加 1 以链接到 Willy Tarreau 的那篇优秀文章。 (4认同)
  • 您现在可以从许多发行商处购买带有主题备用名称的证书。SAN 字段允许对多个 FQDN 有效的证书。警告... 较旧的 Web 客户端(IE6!)可能存在一些问题,在某些情况下,如果主题属性具有无效的 FQDN,客户端将不会读取 SAN 属性。 (3认同)

Rya*_*her 17

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

或者,您可以为每个 Web 服务器获取一个单独的证书,但包括“www.gathright.com”作为“主题备用名称”,这意味着这 5 个证书中的每一个都对 SSL 对通用 FQDN 以及 SSL 有效到特定的服务器 FQDN。

  • 为了澄清此响应,您将在生成请求的服务器上安装证书。然后,您将从该服务器导出证书以及私钥,以便将其导入其他服务器。 (8认同)

小智 14

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

证书由证书颁发机构签署时,声明证书颁发机构验证了证书上列出的名称。对于网站的证书,这意味着网站的域名。您的浏览器预计,服务器,正在与中,如果它正在通过HTTPS,提供一个证书轴承相同的名称作为域名,浏览器认为它聊天。(例如,VeriSign 不太可能为bankofamerica.com 签署Hacker Joe 的证书。因此,即使Hacker Joe 设法拦截您和bankofamerica.com 之间的流量,Hacker Joe 也不会拥有bankofamerica.com 和您的浏览器的签名证书将在整个地方竖起大红色警告标志。)

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

您还可以使用 SSL 终止负载均衡器,在这种情况下,您将使用负载均衡器上的证书(带有关联的私钥),并且 Web 服务器不需要证书,因为它们与SSL。


jot*_*ngo 7

我们的设置运行良好:

https trafic
     |
   pound
     |
http traffic
     |
  haproxy
     |
http traffic 
     |
web server 1 ... web server n
Run Code Online (Sandbox Code Playgroud)

这样磅解密流量,从这里开始一切都是直接的http。优点:Web 服务器上的配置较少,每个作业一个工具。您可以最大限度地使用磅机器上的 CPU,并使 Web 服务器保持“正常”。如果正常运行时间很重要,您应该至少获得两个(磅、haproxy、Web 服务器)。

  • 这还假设您的后端计算机位于安全的专用网络上。在云中,情况并非总是如此...... (2认同)

joe*_*rty 3

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