push_stream_timeout_with_body
`push_stream_timeout_with_body` 指令控制响应中包含主体的推送流连接的超时时间。
NGINX push stream module
·
http
语法push_stream_timeout_with_body value;
默认值none
上下文http
参数1
说明
push_stream_timeout_with_body 指令是 NGINX Push Stream Module 中的一个重要配置项,它决定了当响应包含主体时,服务器将等待订阅者连接保持活动状态的时长。该指令在长连接场景中特别重要,例如与 EventSource 或 WebSockets 一起使用的情况,其中服务器会持续向客户端发送数据。通过指定超时时间,服务器可以关闭不活跃的连接并释放资源,从而确保对活跃订阅者连接的高效处理。
该指令接受一个参数,指定以秒为单位的超时时间。如果在等待向客户端发送数据时达到此超时,服务器将终止连接。在存在大量并发订阅者的场景中,这一点对于维护性能和响应性至关重要,因为它可以防止僵死连接无限期地占用服务器资源。管理员可以根据应用的具体需求(例如用户交互模式或数据刷新频率)调整此超时值。
要使用此指令,必须将其放在 NGINX 配置的 HTTP 上下文中。这样它就能影响 NGINX 管理的所有相关推送流连接。该配置选项提供的灵活性使服务器管理员能够在资源使用与客户端体验之间进行有效平衡。
配置示例
http {
push_stream_timeout_with_body 30s;
}⚠
将超时时间设置得过短可能导致连接过早终止,尤其在高延迟的情况下。
⚠
如果未发送主体,超时可能不适用,这在使用不同响应类型测试行为时可能导致混淆。