我在会话方面遇到了一些问题。当我从本地源尝试我的项目并多次刷新包含以下代码的 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"/>
并且它有效!:)