Java 为同一用户提供多个 HttpSession ID

Java 为同一用户提供多个 HttpSession ID

我在会话方面遇到了一些问题。当我从本地源尝试我的项目并多次刷新包含以下代码的 JSP 时:

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

它总是显示相同的 ID。好的。

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

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

我究竟做错了什么?

需要任何额外信息,请告诉我,我会提供给您。

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

答案1

我已经通过修改 NGINX 和 Tomcat 中的一些配置文件解决了这个问题。

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

在Tomcat中我进行了context.xml如下设置:

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

并且它有效!:)

相关内容