2010-10-06 177 views
15

SSL对负载平衡的工作方式有什么影响?我知道如果您选择不将会话信息存储在数据库或过程中,则需要使用粘性会话,但这对SSL有何影响?SSL和负载平衡

+0

发现了这个有趣的链接http://wiki.metawerx.net/wiki/StickySessions – 2010-10-06 11:33:29

+1

这个问题似乎是题外话,因为它不是关于节目。也许[服务器故障](http://serverfault.com/)或[Webmaster Stack Exchange](http://webmasters.stackexchange.com/)会是一个更好的地方。 – jww 2014-06-24 12:35:53

回答

32

为了澄清,SSL/TLS会话与HTTP会话无关。 (有些实现可能使用SSL/TLS会话ID作为维护HTTP会话的基础,但这是一个糟糕的设计,因为SSL/TLS可能会完全独立地改变HTTP会话的会话)。

在负载均衡方面,你会得到两个选择:

  • 使用负载平衡器这是你的SSL/TLS终点。在这种情况下,负载均衡将在HTTP级别完成:客户端连接到负载均衡器,负载均衡器解开SSL/TLS连接以将HTTP内容(然后清晰地)传递给其工作人员。

  • 在TCP/IP级别使用负载平衡器,它将整个TCP连接直接重定向到工作节点。在这种情况下,每个工作节点必须拥有证书和私钥(如果一致地管理,这不一定是个问题)。使用这种技术,负载平衡器根本不执行任何HTTP处理(因为它不在SSL/TLS连接中查看):一方面,这减少了负载平衡器本身完成的处理那么它将阻止您根据URL结构调度到特定的工作节点。两种方法都有其优点和缺点。

+3

很好的答案!您可能想提到的第二种方法的缺点是,由于平衡器无法在所有SSL内部看到HTTP请求,因此无法添加标题来指出真实的客户端IP;因此对于Web服务器来说,它看起来好像所有请求都来自单个Web客户端:负载均衡器本身的IP地址。 – 2011-05-27 20:47:02

+0

@Brandon Craig Rhodes,您可能能够让负载均衡器发送数据包,就好像它来自初始客户端一样,就像反向NAT可以做的那样。 – Bruno 2011-05-27 21:16:31

+0

- 是的,但只有在我修改所有服务器以将负载平衡器用作其TCP网关的情况下,才能使所有返回到任意客户端IP的数据包通过平衡器回传。据我所知,只有当我在同一个局域网上运行这些机器时,才有可能通过以太网访问彼此的网络接口。 (因此不可能从云服务器提供商的任意主机?) – 2011-05-27 21:40:11