同一个服务器多个Tomcat产生session顶替现象。

问题:

      在同一个服务器上搭建多个tomcat项目,例如A和B。在浏览器同时访问A项目和B项目,先登录A项目,再登录B项目。

这时候A项目刷新会跳到登录页面,需要重新登录。

调查原因:

    经过网上查询,是由于同一个IP下面多个tomcat的cookie名称一致,IP会认为是同一个域,把前面存的cookie内容覆盖了,其中包括jessionId。

解决方案:

   1:将项目放到不同的服务器。

    2:指定不同的tomcat的cookie名称。

具体解决步骤:

   在tomcat的/conf/server.xml里面

 <Context path="" docBase="ROOT" debug="0" reloadable="false" sessionCookiePath="/" sessionCookieName="cookiename">  </Context>

更改seesionCookieName即可。

参考:https://blog.csdn.net/Gred01/article/details/78950500

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果在同一台服务器上的两个 Tomcat 实例中,一个可以成功连接到 PostgreSQL,而另一个连接失败,可能有以下几个原因: 1. 连接池配置问题:确保两个 Tomcat 实例的连接池配置相同。检查连接池的最大连接数、最小连接数、连接超时时间等参数是否一致。如果其中一个实例的连接池配置不正确,可能导致连接失败。 2. 数据库连接数限制:检查 PostgreSQL 数据库的最大连接数限制。如果已经达到最大连接数,新的连接请求将无法成功。可以尝试增加数据库的最大连接数限制或调整连接池配置以减少连接数。 3. 数据库连接泄漏:确认是否存在数据库连接没有正确关闭的情况。如果一个 Tomcat 实例没有正确关闭数据库连接,可能导致连接池中的连接被耗尽,从而导致另一个实例无法获取到可用的连接。 4. 服务器资源限制:确保服务器资源(如 CPU、内存等)足够支持两个 Tomcat 实例同时访问数据库。如果服务器资源不足,可能导致连接失败或超时。 5. 数据库权限问题:检查数据库用户是否具有足够的权限来同时接受两个 Tomcat 实例的连接。确保数据库用户具有足够的并发连接权限。 6. 数据库监听地址配置问题:确认 PostgreSQL 数据库的监听地址是否为本地地址(例如 127.0.0.1)或特定 IP 地址。如果数据库监听地址限制为特定 IP 地址而不包括 Tomcat 实例所在的服务器 IP 地址,连接将无法建立。可以尝试更改数据库的监听地址配置。 请根据具体情况逐一排查上述原因,确认配置和环境是否一致,并且检查相关日志以获取更多的错误信息。如果问题仍然存在,请提供更多详细信息,我将尽力帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值