gpt4 book ai didi

jsf - Tomcat 6 集群 - 经过身份验证的 session 复制

转载 作者:行者123 更新时间:2023-11-28 22:33:03 24 4
gpt4 key购买 nike

我目前有一个非常基本的集群,由运行在同一 VPS 上的两个 Tomcat 6.0.32 实例(Tomcat1Tomcat2)组成。我通过 Apache(在同一个 VPS 上)使用 mod_proxy_ajp 和 mod_proxy_balancer 作为负载平衡器。我们正在使用基本表单例份验证(通过 j_security_check)为用户创建经过身份验证的 session 。

负载平衡器运行良好,未验证的 session 在两个实例之间成功复制。但是,我无法在每个实例之间替换经过身份验证的 session 。

我正在使用一个名为 session.jsp(基于 JPS 模板 http://www.syslog.gr/articles-mainmenu-99/15-tomcat-cluster-session-replication.html)的非常基本的 JSP 来测试 session 以查看它是否是一个新 session 并打印出 JSESSIONID。我在保护区内有一份 JSP 副本,在保护区外有一份副本。

我已经运行了以下测试:

测试 1)
我在 Tomcat1 上的应用程序保护区外访问 session.jsp,记下 JSESSIONID 并向负载平衡器确认 Tomcat1 处理了请求。然后我关闭 Tomcat1 并刷新页面。该请求现在由 Tomcat2 处理(由负载均衡器确认)。当页面完成加载时,我看到我原来的 JSESSIONID 并且我的 session 已经存在。

测试 2)
我在 Tomcat1 上的应用程序保护区内访问 session.jsp。这会提示我登录。登录后,我被发送到 session.jsp 并记下我的 JSESSIONID 并通过负载平衡器确认 Tomcat1 处理了请求。然后我关闭 Tomcat1 并刷新页面。该请求现在由 Tomcat2 处理(由负载均衡器确认)。当页面加载时,我检查我的 cookie。我现在有一个新的 JSESSIONID,系统再次提示我登录。

到目前为止,我认为经过身份验证的 session 不会像未经身份验证的 session 那样被复制。这是一个很好的理由还是表明存在配置问题?

最佳答案

你没有在 sticky_session 模式下运行,它可以通过 worker.loadbalancer.sticky_session=1 启用

最好检查一下:http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

关于jsf - Tomcat 6 集群 - 经过身份验证的 session 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5507890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com