Web农场应该关心TLS握手开销

我有一个Web服务器负责协商安全连接。 有networking农场的其他人是否通过确保TLS恢复握手支持来减lessTLS握手开销? 如果是这样,为什么?

我们正在从一个粘滞的会话切换到一个更加平衡的负载均衡algorithm。 我们担心我们将失去TLS恢复function的好处。 假设来自客户端的每个连接都转到不同的networking服务器,我们假定需要完整的TLS握手。 我不知道这个开销,但是如果我们在往返20ms的时候看起来完整的握手将花费3倍左右的时间来完成。

我不知道OPs Web服务器群有多大,但对于大多数小型/中型安装,我发现处理负载均衡器上的所有TLS / SSL最干净和最简单。 所以你有了:

Internet (HTTPS req) -> L7 HTTPS proxy LB -> plain HTTP on LAN -> webserver 

o3杂志对nginx的相对容易度和性能数据有很好的评价。 f5发表了一篇关于使用商用设备进行SSL加速而不是DIY解决scheme的好处的评论 (恕我直言,有些偏见)。

请注意,您将需要Web服务器来检查X-Forwarded-ForX- FORWARDED_PROTO标头,并正确处理连接。

大多数安装应该可以通过单个HTTP和HTTPS负载平衡器,或HA的主动/被动configuration中的一对负载均衡器来完成。 在这个设置中握手恢复是一个非问题 ,因为只有一个SSL / TLS端点(通常会自动支持握手恢复)。

我的印象是,即使有一个负载平衡器,一个连接已经build立,那个会话中的所有未来连接都会发生在同一个服务器上?

也许这只是我用过的网站和我configuration的服务。

假设你正在使用Apache,看看distcache 。 在手册页中,“distcache体系结构提供了一个协议和一套附带的工具,允许应用程序和机器通过networking服务共享它们之间的会话状态。”

“现在,distcache的主要用途是SSL / TLS会话caching,这允许SSL / TLS服务器(例如,提供HTTPS支持的安全的Apache Web服务器)使用集中会话caching,即任何服务器都可以恢复SSL / TLS会话协商通过networking上的任何其他服务器,这种方法的优点包括增加了负载均衡机制的自由度。“