欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx (104: Connection reset by peer )while reading upstream错误解决

程序员文章站 2022-07-12 19:18:23
...

报错分析:

1、浏览器访问请求出现错误:

net::ERR_INCOMPLETE_CHUNKED_ENCODING 200

看请求,发现,请求通了,但是返回response没有结果,导致错误

问题分析:

    a、网上说谷歌广告插件拦截,看了下自己浏览器,没有安装对应的插件(排除)

    b、自己配置的nginx有问题,因此,查看服务器nginx日志

Nginx (104: Connection reset by peer )while reading upstream错误解决

Nginx (104: Connection reset by peer )while reading upstream错误解决

Nginx (104: Connection reset by peer )while reading upstream错误解决

 

2、查看nginx错误日志:

发现日志确实报错了。报错信息如下:

#日志打印信息
2020/04/29 10:59:18 [error] 6172#0: *607 readv() failed (104: Connection reset by peer) while reading upstream, client: 61.144.100.66, server: zhuangwj.com, request: "GET /api/user/updateLoginSend?smsType=1&phoneNo=123 HTTP/1.1", upstream: "http://122.192.9.122:20021/api/user/updateLoginSend?smsType=1&phoneNo=123", host: "www.zhuangwj.com", referrer: "https://www.zhuangwj.com/"

看日志信息,是连接中断了,因此我们需要把长连接打开即可

当使用nginx作为反向代理时,为了支持长连接,需要做到两点:

从client到nginx的连接是长连接,对于客户端来说,nginx长连接是默认开启的。
从nginx到server的连接是长连接,需要自己开启

在反向代理的模块下,添加下面的参数:


location ~ / {  
。。。。。。。。。省略。。。。。。。。。。。。。  
    proxy_connect_timeout      120;   //加大120  
    proxy_send_timeout         120;   //加大120  
    proxy_read_timeout         120;   //加大120  
    proxy_http_version 1.1;    //开启后端,长连接  
    proxy_set_header Connection "";  //开启后端,长连接  
} 

注意:keepalive指定的数值是Nginx每个worker连接后端的最大长连接数,而不是整个Nginx的.

 

参考文章:

http://blog.51yip.com/apachenginx/2203.html

万分感谢

相关标签: nginx