智能一代云平台(二十一):生产环境Nginx报 502 Bad Gateway 问题复现及解决方案
【前言】系统最近出现了一个问题,经过相应的排查解决了;在此记录一下解决的整个过程,如果大家遇到类似问题以供参考,另外由于经验有限,如果小编有没有考虑到地方,欢迎在评论中留言。【问题—复现—原因—解决】一、问题我们项目线上环境是部署在阿里云上,相关的部署情况是之前博文《高校云平台(十五):Keepalived+Nginx实现高可用,反向代理---Nginx...
强烈推荐一个大神的人工智能的教程: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到时候再排查。
更多推荐
所有评论(0)