nchan_websocket_ping_interval

'nchan_websocket_ping_interval' 指令指定向 WebSocket 连接发送 ping 消息以保持其存活的时间间隔。

语法nchan_websocket_ping_interval seconds;
默认值none
上下文server, location, if in location
参数1

说明

'nchan_websocket_ping_interval' 指令对于在 NGINX 的 Nchan 模块中与 WebSocket 客户端保持持久连接至关重要。该指令定义了在打开的 WebSocket 连接上发送 ping 消息的频率,从而确保连接保持打开和活动。通过定期发送 ping,服务器可以检测并清除闲置连接,从而优化资源使用并提高性能。

该间隔以秒为单位指定,设置合适的间隔对于在保持活动连接与避免不必要的网络流量之间取得平衡至关重要。如果间隔过长,连接可能因不活动而超时;如果过短,可能会因过多的 ping 消息而增加服务器负担。在客户端数量众多的场景中这一点尤其重要,因为在心跳之间可能由于网络问题或客户端离线而发生超时。该指令可以在多种上下文中使用,例如 server、location,或在 location 块内的 if,从而允许根据具体应用需求灵活配置。

配置示例

location /ws {
    nchan_websocket_ping_interval 30;
    nchan_pubsub;
}

注意不要将间隔设置得过短,以免频繁发送 ping 导致客户端负载过高。

如果服务器位于防火墙或代理后面,请确保其允许 WebSocket ping 消息安全通过。

← 返回所有指令