A,B服务器跳转,SESSIONID 丢失问题ajax
问题背景服务器
在作项目时应为项目部署(TOMCAT)在内网B(如:110.110.110.110)(外界没法直接访问),可是能够经过A网地(如:111.111.111.111)转接到B,可是出如今SESSIONID丢失的问题,使得项目在访问的时候没法正常访问。
处理问题:session
项目时经过TOMCAT部署的,这里使用的7的版本,能够经过 配置连接池的时候 ` <Context path="/XXX" docBase="D:\compayWork\xxxx\WebRoot" reloadable="false" crossContext="true" sessionCookiePath="/" sessionCookieName="EDA4_SESSION"/>` 配置完成重启项目就能够看到请求地址时的SESSIONID 是 EDA4_SESSION 。
注意:code
项目中存在ajax请求或者是请求项目的静态文件的时候,要看下本身的工程路径地址以下图
图中一个是获取根路径,一个是获取全路径, 若是是获取全路径的话,在请求数据的时候 `B网+工程名称+请求路径如 (110.110.110.110/wzs/static/我最帅.png)`文件配置了无需登陆访问就可以请求,则不会被跳转到登陆界面,可是若是是须要登陆以后才能访问的地址那么就会被跳转到登陆界面。这样就会形成了登陆SESSIONID丢失的假象。可是其实是直接请求了B网地址,而非由A网访问地址。 正确的取地址方式是去根路径地址,这样在请求的时候就是 `A网地址+工程名+文件+请求路径 (111.111.111.111/wzs/static/我最帅.png)`