nchan_deflate_message_for_websocket

nchan_deflate_message_for_websocket 指令启用通过 Nchan 模块对 WebSocket 连接的消息压缩。

语法nchan_deflate_message_for_websocket on | off;
默认值off
上下文server, location
参数1

说明

nchan_deflate_message_for_websocket 指令是用于 NGINX 的 Nchan 模块的一部分,该模块提供可扩展的发布/订阅服务器功能。此指令专门配置 WebSocket 连接,在将消息发送给订阅者之前对其进行压缩。启用此压缩后,通过网络传输的数据量可以显著减少,这对大消息和带宽受限的环境尤其有利。

要使用此指令,必须提供一个参数以指示是否启用压缩。将其设置为 'on' 时,Nchan 会对通过 WebSocket 通道发送的消息应用 DEFLATE 压缩算法,通过减小有效载荷大小来优化性能。相反,将该指令设置为 'off' 会禁用此压缩功能,使消息以原始未压缩的格式发送。当遇到某些客户端限制或要求更偏好未压缩数据时,这一点也很重要。

该指令可以放置在 serverlocation 上下文中,根据 NGINX 服务器内的不同路由场景进行灵活配置。需要注意的是,压缩可能由于处理开销而引入一些延迟,在决定是否启用此功能时应仔细考虑消息大小和网络状况。

配置示例

location /nchan {
    nchan_deflate_message_for_websocket on;
    nchan_pubsub;
}

确保 WebSocket 客户端支持 DEFLATE 压缩的消息;否则,它们可能无法正确连接或处理消息。

注意消息压缩带来的额外 CPU 开销,尤其是在高负载情况下。

← 返回所有指令