400 bad request fail load resoure

起因

Edge报400错误,而谷歌浏览器正常,被这个问题困扰了多日。有一天运维人员反馈新创建的账户没有400的报错,而部分老的账户突然间谷歌浏览器也不能用了。

分析

经过反复测试确实如上,依次检查了token生成,信息传递等,并在测试工具测试生成的token均没有报错。对比新旧账户的的请求差异,旧账户字符4200多,新账户1600多,经搜索tomcat默认表头长度为8192,遂怀疑是header过大。而后开启调试模式,在一次调试中程序反馈了Request header is too large

原因

Request header is too large,可以看到acess_token 超长,通过检查token生成过程,发现其中包含权限信息超过200,通过移除权限验证不在超长。

解决方案

这种情况下可以减少权限的字符,但是因为再生产项目,动的话比较复杂。

还可以扩大标头字符

server.max-http-header-size=81920即可这个最好不要无限大,会占用内存大小是因为accesstoken过长,其中包含的权限信息过多

未经允许不得转载:lxfamn » 400 bad request fail load resoure

赞 (0) 打赏

置顶推荐

评论 0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏