Tomcat:A cookie header was received[xxxxxx] that contained an invalid cookie. That cookie will be ignored.
搬运来源:https://blogs.yahoo.co.jp/dk521123/36721868.html
原因:
*从Tomcat 8,Cookie的解析已经符合RFC 6265。
*由于RFC 6265不再接受以前允许的逗号分隔符(例如RFC 2109)
"Cookie:KEY 1 = VAL 1,KEY 2 = VAL 2"的格式被视为非法
发生过程:
*客户端(Java)
|
HTTPS
↓
负载均衡器/粘性会话
|
HTTP
↓
* Apache(v 2.4.6)*也发生在2.2.31版本中
|
AJP 1.3
↓
* Tomcat(v8.5.11)
↓
* Web服务(Java)
RFC 2109
Cookie标头中的分隔符在任何地方都是分号(;)。
#Cookie标头中的分隔符是分号(;)无处不在 服务器还应该接受逗号(,)作为cookie值之间的分隔符,以便将来兼容。
#服务器应该接受逗号和分隔符以向后兼容cookie值。 ⇒换句话说,RFC 2109中的"Cookie:KEY 1 = VAL 1,KEY 2 = VAL 2"正常
RFC 6265
cookie-header ="Cookie:"OWS cookie-string OWS
cookie-string = cookie-pair *(";"SP cookie对) #没有具体使用逗号作为分隔符的描述
摘自Tomcat源码
org.apache.tomcat.util.http.parser.Cookie
public static void parseCookie(byte[] bytes, int offset, int len,
ServerCookies serverCookies) { // ・・・略・・・ // Using RFC6265 parsing rules, check to see if the header starts with a
// version marker. An RFC2109 version marker may be read using RFC6265
// parsing rules. If version 1, use RFC2109. Else use RFC6265. skipLWS(bb); // ・・・略・・・
if (skipResult != SkipResult.FOUND) {
// No need to reset position since skipConstant() will have done it
parseCookieRfc6265(bb, serverCookies);
return;
}
解决方法:
旧版中,修改${catalina.home}/conf/server.xml如下
<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor"/>
</Context>
Tomcat8/9修改context.xml如下
<CookieProcessor className ="org.apache.tomcat.util.http.LegacyCookieProcessor"/>
</Context>
参考资料:
https://tomcat.apache.org/tomcat-8.5-doc/config/cookie-processor.html
更多摘录
传统Cookie处理器 - org.apache.tomcat.util.http.LegacyCookieProcessor 这是基于RFC 6265,RFC 2109和RFC 2616的遗留cookie解析器。
它实现了对cookie规范的严格解释。
由于浏览器的各种互操作性问题,并不是所有严格的行为都被启用
默认情况下,还有其他选项可用于进一步放松此cookie处理器的行为
如果需要。
Tomcat:A cookie header was received[xxxxxx] that contained an invalid cookie. That cookie will be ignored.的更多相关文章
- webMagic解析淘宝cookie 提示Invalid cookie header
webMagic解析淘宝cookie 提示Invalid cookie header 在使用webMagic框架做爬虫爬取淘宝极又家页面时候一直提醒cookie设置不可用如下图 淘宝的验证特别严重,c ...
- HttpClient 报错 Invalid cookie header, Invalid 'expires' attribute: Thu, 01 Jan 1970 00:00:00 GMT
今天在给我姐夫写一个 QQ 自动加好友的程序,但是在 HttpClient 登陆 QQ 的时候报了一个错: -- ::] - Invalid cookie header: Jan :: GMT -- ...
- HttpClient4 警告: Invalid cookie header 的问题解决(转)
原文地址:HttpClient4 警告: Invalid cookie header 的问题解决 最近使用HttpClient4的时候出现如下警告信息 org.apache.http.client.p ...
- HTTP Cookie header 中set-cookie格式
Cookie相关的Http头 有 两个Http头部和Cookie有关:Set-Cookie和Cookie. Set-Cookie由服务器发送,它包含在响应请求的头部中.它用于在客户端创 ...
- requests库使用:通过cookie跳过验证码登录,并用Session跨请求保持cookie
拿我平时测试的一个系统为例,从UI层面来说必须先登录才可以进行后续操作,但是我在测试接口文档提供的接口时,发现并不需要登录,每个接口只要传参就可以正常返回.原因是我们这边专门弄了一个接口包来统一管理常 ...
- 只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie
只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie
- Cookie默认不设置path时,哪些请求会携带cookie数据
默认不设置path的时候,只会在请求和servlet同路径的情况下才会携带cookie中存储的数据,包含同级目录和下级目录 例如: 在http://localhost:8080/day01/test/ ...
- nginx日志配置(cookie,header,post等字段记录)
如果你对nginx日志格式,有这样那样的要求. 那么就看一下说明吧. $remote_addr The remote host $remote_user The authenticated user ...
- tomcat 8.5 及其 9.0 response写cookie 设置damain为 [.test.com] 出错 An invalid domain [.test.com] was specified for this cookie
抛出异常: java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cooki ...
随机推荐
- hive的查询注意事项以及优化总结 .
Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具.使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别, 所以需要去掉原有关系型数 ...
- 洛谷::P1972 [SDOI2009]HH的项链
题目背景 无 题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不断地收集新的贝壳,因此,他的项链 ...
- ajax 使用 三种方法 设置csrf_token的装饰器
1. CSRF中间件 CSRF跨站请求伪造 2. 补充两个装饰器 from django.views.decorators.csrf import csrf_exempt, csrf_prote ...
- DOM实战-js todo
1.需求: 实现一个如下页面: 最上面是输入框,后面是add按钮,输入文本点击add按钮,在下面就会出现一行,下面出现的每行最前面是两个按钮,然后后面是todo(要做的事) 第一个按钮是完成按钮,第二 ...
- python入门-函数(二)
1 函数传递参数 def greet_users(names): """向列表中的每个用户都发处问候""" for name in name ...
- OpenACC 《大规模并行处理器编程实战》教材讲解
▶ <大规模并行处理器编程实战>第15章,关于OpenACC 的部分,散点 ● OpenACC 中,主机存储器和设备存储器是分开处理的,程序员只要制定要传输的存储器对象即可,编译器会自动生 ...
- windows10系统右键添加cmd命令
https://blog.csdn.net/Mr_BEelzebub/article/details/78776104 首先,在桌面新建一个文本文档. Windows Registry Editor ...
- JAVA Spring JavaBean 属性值的注入方式( 属性注入, 特殊字符注入 <![CDATA[ 带有特殊字符的值 ]]> , 构造器注入 )
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Java 权限框架 Shiro 实战二:与spring集成、filter机制
转自:https://www.cnblogs.com/digdeep/archive/2015/07/04/4620471.html Shiro和Spring的集成,涉及到很多相关的配置,涉及到shi ...
- 可视化库-seaborn-布局风格设置(第五天)
1. sns.set_style() 进行风格设置, sns.set() 进行设置的重置, 五种风格 # 1.darkgrid# 2.whitegrid# 3.dark# 4.white# 5 tic ...