push_subscriber_timeout

在 NGINX Nchan 中,`push_subscriber_timeout` 指令设置订阅者连接允许的最大空闲时间。

语法push_subscriber_timeout time;
默认值none
上下文http, server, location, if in location
参数1

说明

NGINX Nchan 模块中的 push_subscriber_timeout 指令用于指定订阅者连接在被关闭之前可以保持空闲的最长持续时间。这在 pub/sub 架构中特别重要,因为会建立活动订阅者连接以实时接收消息。如果订阅者连接在指定的时长内未发送任何请求,Nginx 将自动终止该连接以释放资源并更有效地管理打开的连接。

该指令接受单个参数,用于定义超时时间。时间可以使用不同的格式指定,例如秒(s)、毫秒(ms)或分钟(m)。适当设置超时有助于维持合适数量的并发连接,并能降低服务器资源耗尽的风险。用户应根据其应用程序的具体需求(例如订阅预计保持活动的频率)来正确配置此指令。如果未设置此指令,默认行为可能会根据服务器配置导致空闲订阅者被意外断开连接。

还需要注意的是,该指令可以放置在多个上下文中,包括 httpserverlocation,以及 location 块中的 if 语句,从而在 NGINX 配置的不同区域灵活地控制订阅者行为。

配置示例

http {
    nchan_pubsub;
    push_subscriber_timeout 30s;
}

将超时设置得过低可能会因网络活动的正常波动而导致合法订阅者被断开。

如果 push_subscriber_timeout 的值过高,可能会导致陈旧连接占用过多资源。

在调整此设置时,请务必考虑对客户端行为的影响。

此指令仅适用于 pub/sub 上下文;在这些上下文之外不会生效。

← 返回所有指令