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

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

我想生成一个通配符SSL证书,但我不知道是否更好地将其放在负载平衡器或两台服务器? 这是什么build议? 有什么好处和差异。

谢谢

一个非常普遍的做法(我不会说标准 )是将证书放置/configuration在负载均衡器中,而不是在后端服务器中。 为什么? 这使得负载平衡器除了提供应用程序行为之外,还能够处理TLS握手/终止开销( TLS消息的内存/ CPU),而不是让后端应用程序服务器使用它们的 CPU进行encryption。 因此,它通常是让TLS终止在应用程序服务器之前的“专业人士”。

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

所以简短版本是:在负载均衡器中configuration证书是一般推荐的方法。

希望这可以帮助!

如果您没有将证书加载到负载均衡器上,则只能对TCP / IP连接进行负载平衡,因为stream量本身是encryption的。

通过在负载均衡器上加载证书,您可以根据负载均衡器的能力来执行各种更有趣的事情:

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

通常情况下,您将终止LB上的TLS / SSL连接,并在LB和后端服务器之间具有未encryption的stream量,但是如果您的安全要求如此,则不会阻止您在此build立第二个TLS / SSL连接。

正如TJ提到的,在负载平衡器上安装SSL CERTS,可以处理工作,并将用户卸载到后端服务器中。

数字海洋安装有一个很好的例子/教程让CentOS 7 HA代理服务器上的encryption证书😃