我有负载均衡器,用于平衡两个节点之间的负载。
当用户注销时,我将返回相同的登录页面。如果用户登录到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", "" );
}
答案 0 :(得分:0)
那可能会有效但是我认为LoadBalancer并不是真的,Load Balancer应该平衡服务器上的负载并将用户路由到服务器池中的一个服务器,这样如果一台服务器停机或者完全忙,用户可以仍然在其他服务器上使用该应用程序而没有注意到。将它们粘贴到一台服务器上会使您的Web服务器没有后备计划。
而不是你应该尝试使用Load Balancer和一些共享会话技术,这样你的所有服务器都可以相互分享会话