我正在尝试在单个 Tomcat 实例上运行多个 WebApp。我的目标是让每个端口都可以在给定端口的根上下文中访问,例如
http://server:8081
http://server:8082
...
我在 server.xml 中给了每一个单独的“服务”、“连接器”、“引擎”和“主机”条目。一切似乎都工作正常,除了一旦我登录到第一个应用程序,如果我然后登录到第二个应用程序,第一个会丢失其会话信息并注销。
如果我编辑 server.xml 并在其原始上下文中运行它们,例如
http://server:8081/jenkins
http://server:8082/jenkins
...
一切似乎都很好。这使我相信当它们都在根上下文中时会话以某种方式共享,即使它们具有单独的连接器等。知道我在做什么导致这种情况发生吗?
我确认这两个实例共享相同的 jsessionID,并且当我使用一个实例登录时,另一个实例丢失了它的第一个 jsessionid 并采用了第二个,实际上失去了它的身份验证。