1、问题
如果用 tomcat 8.5.x 写的带有特殊符号(=)的cookie,然后跳转到其他部署在tomcat8.0.x 应用,然后获取cookie会发现 tomcat8.0.x 会过滤掉=
2、怎么解决
方案一:把 = 符号去掉
方案二: 可以把低版本tomcat( tomcat8.0.x或者tomcat7.0.x)的catalina.properties加上如下配置。 这样就可以解决等号问题了
org.apache.tomcat.util.http.ServerCookie.ALLOW_EQUALS_IN_VALUE=true
官方文档地址:http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html
经过观察发现 tomcat8.0.x 带双引号, 8.5.x的cookie 不带双引号
//tomcat 8.0.x
Cookie: SESSION="Ecwo4mTii4q/ihlyZxXW==";
//tomcat 8.5.x
Cookie: SESSION=L0vmBBFvlGIPm6RdKrJP==;
3、总结
只要是用tomcat 8.5.x写的cookie ,在tomcat7.0.x 或 tomcat8.0.x 获取会有问题,反过来是没有问题
来源:oschina
链接:https://my.oschina.net/u/2380478/blog/1603390