uwsgi_read_timeout

在 NGINX 中设置从 uWSGI 服务器读取响应的超时时间。 — NGINX HTTP Core

uwsgi_read_timeout
httpserverlocation
语法uwsgi_read_timeout time;
默认值60s
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

`uwsgi_read_timeout` 指令指定了 NGINX 等待来自 uWSGI 服务器响应的时长。如果服务器在该时间范围内未响应,NGINX 将关闭连接并向客户端返回错误。该参数对于可能需要更长时间处理请求的应用程序特别有用,可防止 NGINX 无限期地保持连接打开。 超时值可以用多种时间格式指定,例如秒、分钟,或更细粒度的格式如毫秒。其主要用途是通过避免对无响应后端的长时间等待来提升性能。管理员可以通过在 `http`、`server` 或 `location` 块中设置该指令,为不同上下文配置不同的时间限制,从而根据具体需求提供灵活性。 如果超过了 `uwsgi_read_timeout` 限制,NGINX 将返回 504 Gateway Timeout 错误,向客户端表明连接由于 uWSGI 服务器未在分配时间内响应而失败。因此,建议分析应用的响应时间并设置一个在允许充分处理时间与避免让客户端等待过久之间取得平衡的值。

配置示例

location /app {
    include uwsgi_params;
    uwsgi_pass unix:/path/to/socket;
    uwsgi_read_timeout 30s;
}

将此超时时间设置得过低可能会导致在应用响应较慢时合法请求失败。

如果未谨慎设置,客户端在处理长时间运行的请求时可能会遇到超时,并且缺乏适当的错误处理。