智能一代云平台(二十一):生产环境Nginx报 502 Bad Gateway 问题复现及解决方案

本文记录了一次线上环境中出现502BadGateway问题的排查经历,通过复现问题、查阅错误日志,最终定位到中文乱码引起的转码问题,并给出了具体的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

【前言】

    系统最近出现了一个问题,经过相应的排查解决了;在此记录一下解决的整个过程,如果大家遇到类似问题以供参考,另外由于经验有限,如果小编有没有考虑到地方,欢迎在评论中留言。

【问题—复现—原因—解决】

   一、问题

    我们项目线上环境是部署在阿里云上,相关的部署情况是之前博文《高校云平台(十五):Keepalived+Nginx实现高可用,反向代理---Nginx安装及配置》中的效果图,大家有兴趣可以参考一下;

    上线后发现一个蹊跷的问题,线上偶尔会报502 Bad Gateway(如下图);频率大概每天会出现三到五次,每次持续五分钟左右。

          

   二、复现

 

       1、排查过程中只能等出现这个问题并没有将问题复现出来,为了复现问题,自己写了相关流程,让相关人员辅助确定问题;结果是并没有复现问题。      

         (1)前提:当访问环境出现502时进行如下测试步骤

         (2)访问部署在nginx另外测试环境,可能出现三种情况:

              ①同样显示 502页面

              ②显示系统备案(在Nginx中做出现502错误导向图)

                

              ③显示正常页面(自己做的测试页面)

               

         (3)在浏览器中输入环境所对应的IP地址访问,查看出现情况:

              ①出现502错误界面

              ②能正常访问到系统登录界面

         (4)在浏览器中直接访问公司机房映射到外网的IP进行访问,查看出现情况:

              ①出现502错误界面
              ②正常访问到系统登录界面

         (5)出现其他情况

       2、询问阿里云客服,没有确定问题

          我们线上环境是使用的阿里云的服务器,于是和阿里云方面进行沟通,进行了相关排除,排除方面是参考阿里云的社区文章---负载均衡返回 HTTP 500/502/504 错误的处理并没有确定问题;

       3、复现问题:

          在我们录制系统视频的时候,终于将这个问题再次复现出来---当点击某个功能时系统出现502,经过尝试已经确定这个事件可以使场景复现。

   三、原因

       复现问题后,迅速进行了问题出现的原因,查看阿里云Nginx的错误日志,根据时间找到了问题的根源,中文乱码,如下图:

       

   四、解决

       1、解决:

          确定中文问题后,核实相关代码及服务器的配置,发现导致中文转码失败的是web容器的配置文件中忘记加转码注释导致的。web容器配置文件加转码注释截图如下: 

               

       2、测试:

          重新再次点触发502的功能,发现这次正常了。

       3、关于转码问题:

         (1)正确配置情况:

              ①代码中进行转码配置,web容器中没有进行转码配置;代码中转码配置如下:

               

              ②web容器中进行转码配置,代码中没有进行转码位置;

         (2)错误配置情况:

              ①代码中和web容器中都没有进行转码配置;

              ②代码中和web容器中都进行转码配置。

【总结】

 

    1、出现问题后要从错误日志文件着手快速定位问题;

    2、现在已经确定导致502出现一个原因,并不能保证没有其他的原因,以后可能还会出现502到时候再排查。

 

评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当年的春天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值