踩坑tomcat8.5的cookie机制

https://www.pomelolee.com/1601.html

tomcat升级到8.5版本

发现登录和退出报错,报错日志为下

[http-nio-8080-exec-20] 2016 Aug 20 12:04:49 WARN  WARN:187 - Handler execution resulted in exception
java.lang.IllegalArgumentException: An invalid domain [.i5a6.com] was specified for this cookie
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateDomain(Rfc6265CookieProcessor.java:181)
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:123)
at org.apache.catalina.connector.Response.generateCookieString(Response.java:989)
at org.apache.catalina.connector.Response.addCookie(Response.java:937)
at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:386)

网上已有哥们查看了tomcat的源码 总结规则如下:

domain规则如下
1、必须是1-9、a-z、A-Z、. 、- (注意是-不是_)这几个字符组成

2、必须是数字或字母开头 (所以以前的cookie的设置为.i5a6.com 的机制要改为 i5a6.com 即可)

3、必须是数字或字母结尾

解决之法: 升级处理cookie的domain的地方即可 由 (.i5a6.com 的机制要改为 i5a6.com )搞定

上一篇:linux 命令基础大全


下一篇:使用ndk standalone工具链来编译某个平台下的库