• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

nginx 解决 readv() failed (104: Connection reset by peer)

nginx 搞代码 4年前 (2021-12-15) 29次浏览 已收录 0个评论

查看nginx error错误,发现上传接口报以下错:

2019/10/10 19:58:25 [error] 299784#0: *5967188 readv() failed (104: Connection reset by peer) while reading upstream, client: 59.34.155.7, server: xxxxxxxx, request: “POST /stream/tracking/file HTTP/1.1”, upstream: “http://xxxxxxxx/stream/tracking/file”, host: “xxxxxxxx”

这种错误日志不多,第一感觉就是上传文件过大,传输时间过长,然后连接被中断。

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

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

upstream bigdata {
    server 10.0.20.xx:18018;
    server 10.0.20.xx:18018;
    server 10.0.20.xx:18018;
    server 10.0.20.xx:18018;
    keepalive 100;   //根据qps来调整
}  

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的.


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:nginx 解决 readv() failed (104: Connection reset by peer)
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址