gpt4 book ai didi

tomcat - nginx 和 tomcat(使用 memcached session 管理器)配置上下文 cookies ="false"

转载 作者:行者123 更新时间:2023-11-28 22:31:32 25 4
gpt4 key购买 nike

我有一些带有 memcached session 管理器的 tomcat7,使用 nginx 来代理 tomcat,没问题。

但是现在,我们需要在iphone safari上付费,并通过带有jsessionid的url访问。因此,将 cookies="false"添加到 tomcat 上下文中。然后我们将失去 session 访问权限(在 url 中使用 jsessionid)。但是,当使用 nginx 和一个 tomcat 服务器,或者直接访问 tomcat 服务器时,一切都很好。

为什么会这样?有没有人可以解决这个问题。谢谢

最佳答案

非常感谢 Martin Grotzke。Tomcat日志没问题。我在 msm 的日志中发现了一些东西。

Nginx 只代理 只有一个 tomcat 配置为 cookies=“false”,
第一个请求,msm 没有将 session 备份到 memcached,
下一个在 url 中带有 jsessionid 的请求,在 tomcat 中找到 session ,msm 现在备份 session 。

如果 nginx 代理 两个 tomcats 配置为 cookies=“false”,
第一次请求,nginx代理到TomcatA,登录正常,响应sessionid(TomcatA),但是msm没有备份到 memcached,
下一个请求,nginx 代理到 TomcatB,url 中有 sessionid(TomcatA),tomcat 或 memcached 中没有 session ,因此 TomcatB 创建一个新 session ,
第三个请求,nginx 代理到 TomcatA 和 sessionid(TomcatB 的新 session )。
因此,它始终保持并共享两个 tomcat 之间的 session 。

解决办法是去掉tomcat中cookies=“false”的配置。

关于tomcat - nginx 和 tomcat(使用 memcached session 管理器)配置上下文 cookies ="false",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15755851/

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