同ip不同端口的tomcat设置cookie
Posted FreeFly辉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同ip不同端口的tomcat设置cookie相关的知识,希望对你有一定的参考价值。
一、问题描述
在一台服务器部署多个tomcat服务时,会出现多个服务cookie共享,导致cookie一直变化,状态无法记录的冲突问题。
这是因为同一ip浏览器保存一份cookie,tomcat默认取cookie中JSESSIONID作为session标识。导致多个服务每次返回的cookie都不一致。
二、处理方式
打开tomcat下conf文件夹,打开conf文件夹下的context.xml;
源文件内容:
<Context>
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>$catalina.base/conf/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
</Context>
为其中 标签加上 sessionCookieName=“cookieid” 属性,其中cookid是你想要的cookieid,同一ip不同tomcat的cookieid设置不同,即可实现session隔离。
如下图:
<Context sessionCookieName="mycookieid" >
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>$catalina.base/conf/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!-- <Manager pathname="" />-->
</Context>
以上是关于同ip不同端口的tomcat设置cookie的主要内容,如果未能解决你的问题,请参考以下文章