记一次线上BUG排查过程

这篇具有很好参考价值的文章主要介绍了记一次线上BUG排查过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

2. 问题现象

记一次线上BUG排查过程,bug
记一次线上BUG排查过程,bug文章来源地址https://www.toymoban.com/news/detail-708247.html

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数据

到了这里,关于记一次线上BUG排查过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记一次线上问题 → Deadlock 的分析与优化

    今天女朋友很生气 女朋友:我发现你们男的,都挺单纯的 我:这话怎么说 女朋友:脑袋里就只想三件事,搞钱,跟谁喝点,还有这娘们真好看 我:你错了,其实我们男人吧,每天只合计一件事 女朋友:啥事呀? 我:这娘们真好看,得搞钱跟她喝点   MySQL8. 0.30  ,隔离级别

    2024年02月15日
    浏览(48)
  • 记一次线上kafka重复消费的问题解决及思考

    线上ELK日志发现kafka消费者消费到重复消息 由于生产方本身就发送了重复的消息,导致消费到重复消息 消费方采用的是循环poll的模式,具体是在多线程分租户去批量处理的消息

    2024年02月10日
    浏览(52)
  • 记一次线上问题 → 偶尔的热情真的难顶呀!

    昨晚和媳妇坐在沙发上刷视频 我用手肘轻轻推了推媳妇:你看这渣男,玩完女的都不娶人家 媳妇:哎哟我天,哎呀妈,我这也没好哪去呀 我疑惑的看向媳妇:啥意思啊 媳妇看向自己的手机:啥意思啊,特么有些人,娶完了也不玩呀 我负责的系统需要同步上游系统的数据 同

    2024年02月03日
    浏览(44)
  • 记一次线上问题引发的对 Mysql 锁机制分析

    最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败 整体业务代码精简逻辑如下: 数据库实例监控: 当时通过分析上游问题流量限流解决后

    2024年02月05日
    浏览(56)
  • 记一次线上mysql出错:由于docker自动拉取最新mysql镜像导致mysql容器无法启动

    我随便写写,你们随便看看 环境背景:在docker中部署mysql镜像,通过portainer管理docker容器 简单说下过程:docker里mysql的时区没有设置,导致相差8小时,通过增加TZ=Asiz/Shanghai环境变量,然后重启容器来生效。结果重启的时候始终无法启动起来,后来发现是自动升级了mysql镜像版

    2024年02月07日
    浏览(56)
  • 记一次fineBI的增量删除更新BUG

    官方文档链接是https://help.fanruan.com/finebi/doc-view-1663.html 按照官方文档,增量删除不能使用select * ,且需要指定分区建 但实际指定分区键有时候也会报错,因为表设置的字段有时候会比数据源少,此时会报错,提示缺少字段xxx,但select 字段增加xxx后也是无效的,即便点击预览

    2024年02月08日
    浏览(46)
  • 客户线上反馈:从信息搜集到疑难 bug 排查全流程经验分享

    写在前面:本文是我在前端团队的第三次分享,应该很少会有开发者写客户反馈处理流程以及 bug 排查的心得技巧,全文比较长,写了一个多星期大概1W多字(也是我曾经2年工作的总结),如果你有耐心阅读,我相信在未来的问题排查上,一定会对你的思路拓展有些许帮助,

    2024年02月06日
    浏览(49)
  • 记一次 Redisson 线上问题 → ERR unknown command 'WAIT' 的排查与分析

    昨晚和一个朋友聊天 我:处对象吗,咱俩试试? 朋友:我有对象 我:我不信,有对象不公开? 朋友:不好公开,我当的小三 程序在生产环境稳定的跑着 直到有一天,公司执行组件漏洞扫描,有漏洞的  jar  要进行升级修复 然后我就按着扫描报告将有漏洞的  jar  修复到指

    2024年02月09日
    浏览(57)
  • 一个线上全文索引BUG的排查:关于类阿拉件数字的分词与检索

    说到全文检索的分词,多半讲到的是中(日韩)文分词,少有英文等拉丁文系语言,因为英语单词天然就是分词的。 但更少讲到阿拉伯数字。比如金额,手机号码,座机号码等等。 以下不是传统的从0开始针对mysql全文索引前世今生讲起。 我更喜欢从一个小问题入手,见缝插针

    2024年02月05日
    浏览(68)
  • 记一次Native memory leak排查过程

    路由计算服务是路由系统的核心服务,负责运单路由计划的计算以及实操与计划的匹配。在运维过程中,发现在长期不重启的情况下,有TP99缓慢爬坡的现象。此外,在每周例行调度的试算过程中,能明显看到内存的上涨。以下截图为这两个异常情况的监控。 TP99爬坡 内存爬坡

    2024年02月11日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包