负载均衡器或服务器上的 SSL 证书

Dav*_*cia 6 windows-server-2008 load-balancing ssl-certificate

我有一个负载平衡器在两台服务器之间分配流量,面向公众的 url 都是 https 前缀。

我想生成一个通配符 ssl 证书,但我不确定将它放在负载均衡器中还是放在两个服务器中更好?有什么建议?有什么好处和区别。

谢谢

Cas*_*lia 9

一个非常常见的做法(我不会说标准)是在负载均衡器中放置/配置证书,而不是在后端服务器中。为什么?这使负载平衡器能够处理 TLS 握手/终止开销(TLS 消息的内存/CPU),而不是让后端应用程序服务器使用CPU 进行加密,此外还提供应用程序行为。因此,将 TLS 终止置于您的应用程序服务器之前通常是“优点”。

这也允许在到服务器的单一路由上缓存 TLS 会话(通过负载平衡器),这意味着使用缓存的 TLS 会话的机会更大。另一方面,如果您在每个后端服务器上配置了证书,那么这些服务器(大概)将拥有自己单独的TLS 会话缓存;负载均衡器可以(也不能)将客户端定向到缓存TLS 会话的后端服务器。

所以简短的版本是:在负载均衡器中配置证书是普遍推荐的方法。

希望这可以帮助!


HBr*_*ijn 6

如果您不将证书加载到负载均衡器上,您只能对 TCP/IP 连接进行负载均衡,因为流量本身是加密的。

通过在负载均衡器上加载证书,您可以在那里做各种更有趣的事情,具体取决于负载均衡器的能力:

  • 创建会话持久性/粘性会话,这样来自特定用户的后续请求将始终路由到相同的后端服务器(例如基于会话 cookie),这比使用源 IP 地址作为基础更可靠亲和性,这是您在 LB 上没有证书时的唯一选择。
  • 将不同的 URL 路由到不同的后端服务器池,即直接example.com/app-1到不同的应用程序服务器而不是用于example.com/app-2
  • 等等。

通常,您会终止 LB 上的 TLS/SSL 连接,并且在 LB 和后端服务器之间有未加密的流量,但如果您的安全要求是这样,则不会阻止您在那里建立第二个 TLS/SSL 连接。