网站偶尔出现502 Bad Gateway的解决方案,recv() failed (104: Connection reset by peer)

蛰伏已久 蛰伏已久 2018-10-09

最近发现一个奇怪的问题,在进行微信登录或者微信支付的时候,总是出现502错误,起初以为代码问题,后来咨询朋友说是nginx问题,于是查看nginx的错误日志,发现日志如下

2018/10/09 17:08:44 [error] 30430#0: *12520 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 113.31.87.54, server: www.*****.com, request: "GET /site/transfer?code=021wCkqs0s2LJd1vrXqs088bqs0wCkqh&state= HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.*****.com"

于是百度搜索recv() failed (104: Connection reset by peer)

发现有个朋友也是这个情况,最终在stack overflow上找到了解决办法,就是扩大php的buffer_size,找到php的配置文件php.ini

//打开php的配置文件
vim /etc/php.ini

//将这个配置
output_buffering = 4096
//改为
output_buffering = 65535

//重启php
/etc/init.d/php-fpm restart

1.什么是502 bad gateway 报错

简单来说 502 是报错类型代码 bad gateway 错误的网关。

2.产生错误的原因

连接超时 我们向服务器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错

所以上面给出的方案就是增加buffer_size,以容纳更多的请求


分享到

点赞(1)