记一次线上BUG排查过程

1. 线上遇到一个非常奇怪的bug,为一个用户分配业务线类型后,该用户登录时,提示502,但其它的用户登录完全是正常的

2. 问题现象


3. 排查思路

  1. 先去看线上日志,看是否有error,但日志里边这个接口200正常返回
  2. 本地debug,也复现一样问题,在分配角色类型超过22个总数时就报错
  3. 怀疑长度问题,因为我们是基于jwt的token认证方式
  4. 看下login之后签发的token特别长,有没有可能是token的问题呢?
  5. 查看线上ng日志,发现报错: 2023/09/13 05:46:42 [error] 23#23: *80 upstream sent too big header while reading response header from upstream, client: xxx.xxxx.xxx.xxx, server: yyy, request: "POST /api/menu/get_menu HTTP/1.1".
    确认token长度是已超4kb大小,
  6. 我们线上是ng代理,ng对于请求header的长度也是4kb限制
  7. 最终因为业务代码在jwt的Claims添加了额外用户信息,这个会导致随着分配用户越来越多的bizType签发的token长度增加,最终超过4kb的总大小,导致ng出现502的错误

4. 解决方案

  1. 修改ng配置,添加以下配置

    复制代码
    # http段添加如下内容:
    proxy_buffer_size 128k;
    proxy_buffers 32 32k;
    proxy_busy_buffers_size 128k;
  2. 把token的签发,移除bizType数据

相关推荐
0白露13 小时前
关闭搜狗输入法右下角广告,可以适用于大多数应用系统通知的广告
windows·bug
一只自律的鸡1 天前
【Linux驱动】bug处理 ens33找不到IP
linux·运维·bug
Lichenpar3 天前
Springboot采用FastJson2作为MessageConverter时,配置的全局日期类型序列化转换BUG
java·开发语言·bug
Irene19913 天前
AI 找 bug 的局限性 和 Deepseek 优势明显
bug
癫狂的兔子4 天前
【bug】【Python】pandas中的DataFrame.to_excel()和ExcelWriter的区别
python·bug
癫狂的兔子4 天前
【BUG】【Python】【Spider】Compound class names are not allowed.
开发语言·python·bug
netkiller-BG7NYT4 天前
阿里云语音合成CosyVoice重大BUG被我发现了
bug
马猴烧酒.5 天前
【Mybatis出现bug】应为 <statement> 或 DELIMITER,得到 ‘id‘
java·bug·mybatis
请叫我大虾5 天前
发现一个jdk中ArrayList的小BUG
android·java·bug
离离茶5 天前
【笔记1-10】Qt bug记录:dockwidget通过raise在最前面显示,toolbar的拓展菜单失效
笔记·qt·bug