response header less的问题,请求头超过了8K

昨天晚上加班到快十点的时候,系统突然出现了一个问题:

SEVERE: Servlet.service() for servlet [springmvc] in context with path [/nestle] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: An attempt was made to write more data to the response headers than there was room available in the buffer. Increase maxHttpHeaderSize on the connector or write less data into the response headers.] with root cause
java.lang.IllegalStateException: An attempt was made to write more data to the response headers than there was room available in the buffer. Increase maxHttpHeaderSize on the connector or write less data into the response headers.

由于这两天被压力测试搞得一团乱麻,看到报错了后压根没心情解决,关上电脑立马闪人了。

 早上来了还是得继续解决。

折腾了一上午都不知道啥原因,看到有说要修改maxHttpHeaderSize的大小,看了下tomcat的官方文档,默认的大小是8k,修改了后,是不报错了,但是登陆之后一直请求不到资源,浏览器调试报错如下:

 Failed to load resource

 ERR_CONTENT_LENGTH_MISMATCH 

但是刷新一下页面之后就能加载成功了。

还以为是什么代理的问题,把s和谷歌的proxy都卸载了,还是没用

让同事试了下登陆他们都说是好的,后来我灵机一动换了个别的账号登陆试了下,发现ok的,完全没有问题。

既然如此,肯定是那个账号有问题,查了查登陆时要加载哪些资源,发现登陆时在cookies中塞了某一张表的查询结果,问题账户对应的结果有500多条(实际上是不会出现这种情况,跑压力测试时系统出了问题)。cookies又在response的header里,难怪一下子就撑爆了。

总算解决了。





你可能感兴趣的:(http)