首页 > 解决方案 > 同一用户的 Java 多个 HttpSession ID

问题描述

我对会话有一些问题。当我从本地资源尝试我的项目并多次刷新包含以下代码的 JSP 时:

<h1>Session ID=<%=session.getId()%></h1>

它始终显示相同的 ID。好吧。

问题是我已经将项目部署在远程服务器中,当我重新加载相同的 JSP 时,每次刷新页面时它都会返回一个不同的会话 ID 。

我究竟做错了什么?

PS。远程服务器正在使用 https(SSL 证书)和 NGINX 反向代理(如果此信息有帮助...)。

PS2。更多信息:如果我使用远程服务器的 IP 和端口访问远程服务器,似乎可行,每次刷新页面时都会给我相同的会话 ID。

标签: jspsessionservletssession-cookiessession-variables

解决方案


经过大量调查,我已经解决了修改 NGINX 和 Tomcat 中的一些配置文件的问题。

在 NGINX 中,我删除了proxy-cache我在服务器配置中编写的行。

在Tomcat中,我设置context.xml如下:

<Context path="/" 
         reloadable="false" 
         override="true" 
         useNaming="false" 
         allowLinking="true" 
         useHttpOnly="false" 
         sessionCookiePath="/" 
         sessionCookiePathUsesTrailingSlash="false"/>

它有效!:)


推荐阅读