美文网首页
502 Bad Gateway

502 Bad Gateway

作者: 大鹏之动 | 来源:发表于2018-11-03 20:19 被阅读0次

一天开发同事说,周末在家用你的运维工具查不出欧美地区的游戏服日志,然后直接截图给我看502 Bad Gateway。正好上午不是很忙,就来探个究竟。


日志提取架构

处理过程:

(1)、首先是开发重现上面操作,依然报错502。


(2)、开始查Nginx日志,看到如下



意思是说从上游接受头部信息时,上游提前关闭连接。通过抓包分析后端8888端口在59s后开始关闭TCP连接。



从而定位到是后端uwsgi、game server、MySQL有问题,提交结束并没有返回http头部信息,导致Nginx直接返回502。

(3)、现在还是不能确定是哪里问题,先假设,
① 、是否game server提取日志代码逻辑出错导致呢?通过查询uwsgi进程日志,没有发现异常,另外通过查询国内其他游戏服日志可以正常提取,因此这个直接排除。
② 、是否game server提取日志过长导致从uwsgi——>game server提取日志提前中断?通过查看,发现后端进程在出现502后进程还在提取日志,因此判断从uwsgi——>game server是正常的调用。
③ 、是否和MySQL有关呢?直接排除,该处理逻辑不涉及到MySQL。
④ 、是否uwsgi进程自身关闭tcp连接呢?怀疑uwsgi配置超时时间配置问题。

(4)、现在基本定位到是超时时间配置问题,通过查找帮助文档+google找到三个可以影响的配置, http-timeout,socket-timeout,HARAKIRI,但是官方和google并没有很详细的说明他们设置上的区别和默认时间。通过自己调试,总结如下,
socket-timeout:如果你的uwsgi启动是socket模式,则socket-timeout起作用,我将uwsgi调整到这个模式,发现没有配置超时时间能出结果。



http-timeout:如果你的uwsgi启动是http模式,则http-timeout起作用,通过测试在没有配置http-timeout时,会在60s时中断并提示502,配置300s后,能正常提取到日志。



HARAKIRI:如果你的请求任务超过配置的时间,它会自动杀掉并重新启动一个。

总结:

通过上面的测试,解决问题是配置http-timeout=300s,因为我的uwsgi是用的http模式,提取日志需要144s时间。
uwsgi默认的http模式超时时间为60s,就是这个默认时间导致提取日志时报502异常的根本原因。
不要放弃任何小的故障,在某种情况下会发展成大的故障。

相关文章

  • http 状态码 502 和 504 有什么区别

    502 Bad GatewayThe server was acting as a gateway or prox...

  • Mac 10.11.6 + 502

    各种502报错502 Bad Gateway 502 https://blog.csdn.net/m0_37482...

  • 502 Bad Gateway

    各位看官,网站打不开是不是很捉急;昨天小编的网站出现了502 bad gateway,“bad gateway”百...

  • Nginx 502错误原因和解决办法总结

    一、NGINX 502错误排查NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX...

  • 502 Bad Gateway

    1.错误网关,无效网关 2.原因:对用户访问请求的响应超时造成的 3.首要排查:尝试清除浏览器缓存 4.解决办法:...

  • 502 Bad Gateway

    一天开发同事说,周末在家用你的运维工具查不出欧美地区的游戏服日志,然后直接截图给我看502 Bad Gateway...

  • 502 Bad Gateway

    重现 在部署一套新的环境的时候,内部集群服务之间调用采用http协议,通过nginx进行跳转调用,当内部服务1调用...

  • Valet 502 Bad Gateway

    安装valet访问后出现 502 Bad Gateway 错误,查看~/.valet/Log/nginx-erro...

  • CDN 502错误

    502错误,百度百科上的解释 中文名 502 外文名 502 Bad Gateway 属性 网关/代理 意义 无响...

  • nginx+php显示 502 bad gateway的解决方法

    502 Bad Gateway nginx/1.2.9 在百度上查找错误信息:nginx+PHP 错误502 ba...

网友评论

      本文标题:502 Bad Gateway

      本文链接:https://www.haomeiwen.com/subject/sohlxqtx.html