Nginx异常信息 upstream timed out (110: Connection timed out) while reading response header from upstream

发布时间 2023-03-22 21:13:22作者: GaoYanbing

upstream timed out (110: Connection timed out) while reading response header from upstream

Nginx代理配置如下:

###proxy settings start
proxy_http_version 1.1;
proxy_connect_timeout      3s;
proxy_read_timeout  3s;
proxy_send_timeout  3s;
proxy_buffer_size  128k;
proxy_buffers      256    16k;
proxy_busy_buffers_size    128k;
proxy_ignore_client_abort on;
###proxy settings end

语法:proxy_read_timeout time;

默认值:proxy_read_timeout 60s;

上下文:http,server,location

Defines a timeout for reading a response from the proxied server. The timeout is set only between two successive read operations, not for the transmission of the whole response. If the proxied server does not transmit anything within this time, the connection is closed.

需要注意的是,这个超时时间并不是针对单个请求的响应超时时间,而是针对两个成功响应之间的间隙,即如果被代理服务器在设置时间内没有发送任何数据,连接将被关闭

proxy_http_version设置为1.1,Nginx和被代理服务器之间默认使用长连接进行通信

在req2的响应返回之前,距resp1成功返回的时间已经超过了proxy_read_timeout的设置值(proxy_read_timeout设置的值比较小,并且系统QPS较低),Nginx直接断开了连接导致无法成功获取req2的响应

修改nginx配置,将proxy_read_timeout的值由3s修改为10s