一个服务器上搭建了多个tomcat或者weblogic,端口不一样,同时启动访问时session丢失。如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时session丢失,需要重新登录A才可以访问。经过资料查找,发现问题是因为:IP相同认为是同一个域,接收了B的set-cookie指令,把对应的cookie内容覆盖了,其中包括jsessionid,造成A的session丢失。 如果IP不同,则不会发生这个问题。IP相同的两个session对应的cookie是一样的,而不幸的是sessionID就保存在cookie中,这样先访问A,再访问B的时候,B的sessionid会覆盖A的sessionid。这个事情没办法解决,所以你不要搞两个端口,最好是搞两个IP。原来都是cookie惹的祸,它不会区分端口,造成这多个站点不断的后来的覆盖前面的,从而造成session的丢失。
解决方法:
方法1:将不同的多个应用服务在不同的虚拟主机中,或者映射不同的IP进行部署。
方法2:对应tomcat服务处理方式:修改coocie的名称保证cookie不重复,即jsessionid的不重称,保证ip相同下sessioncookiename域名不同。
1、tomcat5修改方法
在启动项中增加org.apache.catalina.SESSION_COOKIE_NAME参数
linux
JAVA_OPTS=’-Dorg.apache.catalina.SESSION_COOKIE_NAME=yousessionname‘win
set JAVA_OPTS=”-Dorg.apache.catalina.SESSION_COOKIE_NAME=yousessionname“
2、tomcat6和tomcat7修改方法相同
tomcat增加参数对所有Context生效,影响甚大,所以到以后的版本可以就仅针对Context设置了
在Context容器标签上增加sessionCookieName参数
<Context path=”/” docBase=”webapp” reloadable=”false”sessionCookieName=”yoursessionname”></Context>
3 、weblogic修改方法
设置各个应用使用不同的cookie-name。
weblogic的设置(设置不同的cookie-name):
请在WEB-INF\Weblogic.xml添加如下代码
<session-descriptor>
<cookie-name>JSESSIONID1</cookie-name>
</session-descriptor>
http://blog.csdn.net/isshquery/article/details/8493231
http://blog.163.com/wendy_xiaoyue/blog/static/19040105120111114105829574/
本文来源于:http://my.oschina.net/psuyun/blog/520224
相似问题:
一台机器,两个web项目,session丢失问题20
通过检查cookie,发现这两个项目的sessionid是同一个,当打开第二个项目的时候,其sessionid被修改了。
采纳的答案
估计你两个项目的访问域名是一样的。这样的问题在不同的浏览窗口中应该是不存在的
在同一浏览器窗口中,输入域名相同,但是目录不同的服务时。如果两个服务是互不关联的,应该在访问域名时针对不同服务使用不同的域名。
或者你的cookie应该是针对域下的某个特定目录的,而不是域的根目录。
在tomcat中,jessionid应该是默认写在域根目录下的。
下面的sso可以关注一下:
应该是单点登录问题,你可以查一下这方面的知识(SSO),它就是解决多web程序共用一个的登录的问题!
相关推荐
经过资料查找,发现问题是因为:IP相同认为是同一个域,接收了B的set-cookie指令,把对应的cookie内容覆盖了,其中包括jsessionid,造成A的session丢失。 如果IP不同,则不会发生这个问题。IP相同的两个session对应的...
主要介绍了解决vue中使用proxy配置不同端口和ip接口问题 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
扫描IP开放端口,支持多线程扫描。 通过该工具可以扫描常用的端口和指定的端口是否开放。 常用端口号: 代理服务器常用以下端口: (1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080 (2). SOCKS...
2,每个域名对应同一个IP的不同端口, 3,每个域名对应同一个IP的80端口,用不同的主机头区分。 根据你的情况,我建议你使用第三种方法。 ----------------------------------------------------------------- ...
飞速IP开放端口扫描器可以快速的扫描指定的IP地址端口,比普通的扫描软件快很多
实现android中IP和端口的重定向,输入原始IP,端口和目标IP,端口,实现重定向功能
IP段端口扫描.rar
使用nginx进行服务器管理,经常会遇到跨域问题,此文档就是解决此类问题; nginx跨域问题,解决多端口,多ip问题
易语言IP段端口扫描源码,IP段端口扫描,扫描IP段,开始扫描,连接客户,等待延时,打开网页,PeekMessage
用了一个礼拜时间做了一个端口扫描程序 从扫描同一个网段的IP开始 逐步添加功能 现在还具有了扫描选定IP的常见TCP UDP端口 包括部分常见木马所使用端口 并可以自定义扫描端口 扫描同一网段的IP主要是用SHELL方法 ...
IP,端口隐藏工具IP
端口扫描仪 输入IP和端口范围即可 端口扫描仪 输入IP和端口范围即可 端口扫描仪 输入IP和端口范围即可
一个很慢的端口扫描,指定IP和端口范围进行扫描
不同的通信協定,都有不同的對應端口。所以,利用短信(datagram)的UDP,所採用的端口號碼不一定和採用TCP的端口號碼一樣。以下為兩種通信協定的端口列表連結: 端口状态颜色图例 以下方块,以如下颜色和标签,标明...
在程序代码中获取用户的输入的IP和端口
查看端口号和IP地址查看端口号
Oracle和Tomcat端口冲突,这是一个解决Oracle和Tomcat端口冲突的方案。
工具用于IP开放端口扫描。例如查询端口有没有印射成功。 IP 端口有没有开放。 非常简单,易用。
很方便解决tomcat启动时的端口冲突问题 可以查看再用的所有端口
法扫描),若移动了请重新将其放在同一个文件夹内) ④IP地址格式是否正确(例如:192.168.1.1 192.168.1.255) ⑤端口或线程是否填写正确 ⑥若不是因上述问题造成请与作者联系 ⒉无法查看扫描结果文件 ①...