Java 同一用户的多个 HttpSession ID
Java multiple HttpSession IDs for the same user
我的会话有问题。当我从本地源尝试我的项目并刷新几次 JSP 包含以下代码时:
<h1>Session ID=<%=session.getId()%></h1>
它总是显示相同的ID。好的。
问题是我已经在远程服务器上部署了项目,当我重新加载相同的 JSP 时,它 returns 我 一个不同的会话 ID 每次我刷新页面。
我做错了什么?
PS。远程服务器正在使用 https(SSL 证书)和 NGINX 反向代理(如果此信息有帮助...)。
PS2。更多信息:如果我使用远程服务器的 IP 和端口访问远程服务器,似乎可行,每次刷新页面时都会给我相同的会话 ID。
经过大量调查,我已经解决了修改 NGINX 和 Tomcat 中的一些配置文件的问题。
在 NGINX 中,我删除了我在服务器配置中编写的 proxy-cache
行。
在Tomcat中,我设置了context.xml
如下:
<Context path="/"
reloadable="false"
override="true"
useNaming="false"
allowLinking="true"
useHttpOnly="false"
sessionCookiePath="/"
sessionCookiePathUsesTrailingSlash="false"/>
而且有效! :)
我的会话有问题。当我从本地源尝试我的项目并刷新几次 JSP 包含以下代码时:
<h1>Session ID=<%=session.getId()%></h1>
它总是显示相同的ID。好的。
问题是我已经在远程服务器上部署了项目,当我重新加载相同的 JSP 时,它 returns 我 一个不同的会话 ID 每次我刷新页面。
我做错了什么?
PS。远程服务器正在使用 https(SSL 证书)和 NGINX 反向代理(如果此信息有帮助...)。
PS2。更多信息:如果我使用远程服务器的 IP 和端口访问远程服务器,似乎可行,每次刷新页面时都会给我相同的会话 ID。
经过大量调查,我已经解决了修改 NGINX 和 Tomcat 中的一些配置文件的问题。
在 NGINX 中,我删除了我在服务器配置中编写的 proxy-cache
行。
在Tomcat中,我设置了context.xml
如下:
<Context path="/"
reloadable="false"
override="true"
useNaming="false"
allowLinking="true"
useHttpOnly="false"
sessionCookiePath="/"
sessionCookiePathUsesTrailingSlash="false"/>
而且有效! :)