同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的主要内容,如果未能解决你的问题,请参考以下文章

宝塔同IP或同域名不同端口分别对应不同网站教程

宝塔同IP或同域名不同端口分别对应不同网站教程

通过宝塔搭建同个IP不同端点多个Typecho

linux——编译安装httpd服务,同ip端口,不同域名

通过内部网络端口不通了,只能PING通,IP都是设置在同网段?

cookie在不同端口号可以共享吗