怎么排查服务器HeadersTooLargeException问题

发布时间:2021-11-15 16:28:29 作者:iii
来源:亿速云 阅读:317

本篇内容介绍了“怎么排查服务器HeadersTooLargeException问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

产生原因

公司内部系统,权限点很多,系统cas的权限传输使用了cookie,所有权限组织成字符串,之后写入到cookie中。当管理员登录时,所有权限都将写入到cookie中。cookie又是在页面请求时需要携带到header中,导致出现header内容过长

错误排除过程

当出现管理员不能登录时,第一反应是权限是不是配置错了。但通过对比,权限配置正确。

第二步尝试删除掉新增的权限,登录成功。逐个又添加权限,在添加到最后几个时,出现登录失败的问题

后续查看ng的错误日志,发现ng转发请求时,服务的tomcat返回拒绝请求的错误: 怎么排查服务器HeadersTooLargeException问题

查看出错应用的tomcat的catalina日志,发现错误: 怎么排查服务器HeadersTooLargeException问题

大家都知道,只要看到真正的错误信息的堆栈,问题已经基本可能解决了,下面拿到错误信息google下,在tomcat官方网站有改信息的配置,只要在tomcat的server.xml中修改maxHttpHeaderSize的值即可变更header长度 怎么排查服务器HeadersTooLargeException问题

修改请求头最大限制后登录成功。 但是这种直接使用cookie存储权限信息的方式,不管是安全问题,还是对服务器的请求压力都很大(每个请求都携带着4K以上的header,想想都恐怖)。其实有cas的TGT(cas中的cookie)的已经可以确定当前登录用户,并可以取到权限。在服务端可以加层缓存每个用户的权限,直接根据token获取权限并鉴权即可。

这是tomcat配置的信息,其中:maxHttpHeaderSize 即为header长度的限制 tomcat默认设置

“怎么排查服务器HeadersTooLargeException问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 服务器bond问题排查
  2. Java如何排查问题

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

服务器

上一篇:基于OpenCV与Dlib的行人计数开源实现是怎样的

下一篇:CentOS 6.6如何安装单节点FastDFS

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》