http2_recv_timeout

http2_recv_timeout 指令设置在 HTTP/2 连接上等待客户端发送数据的最长时间,超过该时间则超时。 — NGINX HTTP Core

http2_recv_timeout
httpserver
语法http2_recv_timeout time;
默认值none
上下文http, server
模块NGINX HTTP Core
参数1

说明

`http2_recv_timeout` 指令适用于 `http` 和 `server` 上下文,确定服务器在 HTTP/2 连接上等待来自客户端的附加数据的时间长度。如果超过指定时间仍未接收到数据,服务器将终止连接并关闭 socket。这对于控制资源使用并确保连接不会因客户端无活动而无限期保持打开非常重要。 该指令的参数是一个时间值,可以用秒或更细的单位表示,从而对超时持续时间进行精确控制。在调整此值时,应考虑客户端请求的性质和预期的连接模式。如果设置过低,可能会导致需要更长时间发送数据的客户端被过早断开;相反,设置过高可能会因闲置连接长时间存在而导致资源耗尽。 在实践中,`http2_recv_timeout` 指令与其他与超时相关的配置参数互为补充,允许系统管理员根据应用需求和预期流量模式微调服务器的响应性和资源管理。

配置示例

server {
    listen 443 ssl http2;
    http2_recv_timeout 10s;
}

将超时设置得过低可能会无意中断开需要时间发送数据的合法连接。

此指令仅适用于 HTTP/2 连接;请确保不要将其与用于其他协议的超时指令混淆。