智能一代云平台(二十一):生产环境Nginx报 502 Bad Gateway 问题复现及解决方案 - Go语言中文社区

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


强烈推荐一个大神的人工智能的教程: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到时候再排查。

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u012829124/article/details/70992263
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-27 20:23:54
  • 阅读 ( 1619 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢