删除负载平衡的JSESSIONID

时间:2013-01-15 07:40:06

标签: session load-balancing logout jsessionid

我有负载均衡器,用于平衡两个节点之间的负载。

当用户注销时,我将返回相同的登录页面。如果用户登录到node1,则在注销后,我想将用户带到node2。

放入负载均衡器的重定向规则不起作用(规则如下所述)。因此,我想在用户注销时删除JSESSIONDID,假设它现在可能会转到另一个节点。

在注销之前,我需要使会话无效。如果我按照以下步骤操作,

1. Remove JSESSIONID
2. session.invalidate();

在上述情况下,如果在使会话无效之前删除了JSESSIONID,它会使会话无效吗?因为SESSIOND ID已被删除

1. session.invalidate();
2. Remove JSESSIONDID

在这种情况下,我已经使会话无效。那么,我能删除JSESSIONID吗?

重定向规则

if ( ($url == "loginPageURL") && ( http.getcookie( "JSESSIONID" ) == "" )) 
{
 http.setcookie( "JSESSIONID", "" );
}

1 个答案:

答案 0 :(得分:0)

那可能会有效但是我认为LoadBalancer并不是真的,Load Balancer应该平衡服务器上的负载并将用户路由到服务器池中的一个服务器,这样如果一台服务器停机或者完全忙,用户可以仍然在其他服务器上使用该应用程序而没有注意到。将它们粘贴到一台服务器上会使您的Web服务器没有后备计划。

而不是你应该尝试使用Load Balancer和一些共享会话技术,这样你的所有服务器都可以相互分享会话