proxy_send_timeout
在 NGINX 中设置向代理服务器传输请求的超时。 — NGINX HTTP Core
proxy_send_timeout
httpserverlocation
语法proxy_send_timeout time;
默认值60s
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
`proxy_send_timeout` 指令指定 NGINX 尝试将请求发送到代理服务器的时间段。该超时用于控制 NGINX 在超时前等待服务器接受请求的最长时间。如果超时被超过,NGINX 将关闭连接并记录错误。该值可以用多种格式指定,例如以秒为单位或带有时间后缀(例如 '30s' 表示 30 秒)。 该指令必须在三种上下文之一设置:`http`、`server` 或 `location`。它根据应用的需求,对针对代理请求的超时设置提供细粒度控制。对于响应时间可变的应用或处理高延迟网络时,可能需要调整此超时。如果将请求发送到代理服务器花费的时间过长并达到 `proxy_send_timeout` 阈值,NGINX 将记录错误并向客户端返回 502 Bad Gateway 响应。 `proxy_send_timeout` 的值应与被代理应用的预期行为相匹配。应根据应用的性能特征和预期负载来设置。如果设置过低,可能会导致合法请求失败;而设置过高可能会引起资源争用并影响服务器的响应能力。
配置示例
location /api {
proxy_pass http://backend;
proxy_send_timeout 30s;
}⚠
将超时时间设置得过低可能导致连接过早关闭并增加错误率。
⚠
未配置此指令可能导致使用默认超时,而这些默认超时可能与应用程序的需求不一致。