我对软件或硬件负载均衡器是如何工作的一无所知。我猜想硬件负载均衡器基本上就是一个交换机,它基于某种算法来决定对于传入的请求应该切换到哪个节点。在软件负载均衡器方面,我猜软件会挑选一个节点,并使用反向代理连接到它。在这种情况下,双向SSL将无法工作,因为负载均衡器无法拥有客户端的私钥。
同样,我不知道软件负载均衡器是如何工作的,但是因为我的应用程序需要负载均衡器,并且应用程序使用双向SSL连接,所以我想知道软件负载均衡器是如何处理双向SSL连接的。
发布于 2009-02-15 22:49:47
不,SSL与负载均衡器一起工作。它们通常在TCP级别工作,因此客户端连接到LB IP地址,但它将连接NAT到实际服务器。连接在其生命周期中一直保持在同一个真实服务器上,但是如果同一个客户端创建了另一个连接,它可以(并且通常会)连接到不同的服务器。
对于HTTPS,这可以很好地工作,除了如果你有一个支持SSL会话缓存的web服务器,那么如果客户端返回到不同的服务器,SSL会话缓存将会丢失。在实践中,这不是一个大问题。当然,HTTP keep-alive会话不受影响,因为它们是单个TCP连接,因此它们保持在同一realserver上。
发布于 2009-02-13 19:09:44
一般来说,软件负载均衡器会注意到有新的传入连接请求,评估可用机器上的工作负载,并将新请求分配给最合适的机器。当存在基于会话的服务时,该连接将在会话期间持续;仅当服务器关闭时才会发生重新平衡,并且可能会在新平衡的配置中建立新的连接。
因此,正如Jon所暗示的,SSL会话将与服务器建立,并将与该服务器继续,直到会话终止。
如果您希望更动态地路由连接,那么可能需要在动态地向不同服务器发送请求的软件前面终止(解密) SSL会话。
所有这些都是可能的-它们不一定是有效的或实现的。
发布于 2009-02-13 18:40:14
软件负载均衡器将在多个服务器上均匀分配会话。
因此,如果用户访问您的负载均衡器,它将把他发送到特定的服务器,该服务器将协商SSL。用户将不断地与此服务器对话,直到其会话到期。在这一点上,他将再次点击负载均衡器。
https://stackoverflow.com/questions/547138
复制相似问题