nchan_deflate_message_for_websocket
nchan_deflate_message_for_websocket 指令启用通过 Nchan 模块对 WebSocket 连接的消息压缩。
Scalable, flexible pub/sub server for the modern web
·
serverlocation
语法nchan_deflate_message_for_websocket on | off;
默认值off
上下文server, location
参数1
说明
nchan_deflate_message_for_websocket 指令是用于 NGINX 的 Nchan 模块的一部分,该模块提供可扩展的发布/订阅服务器功能。此指令专门配置 WebSocket 连接,在将消息发送给订阅者之前对其进行压缩。启用此压缩后,通过网络传输的数据量可以显著减少,这对大消息和带宽受限的环境尤其有利。
要使用此指令,必须提供一个参数以指示是否启用压缩。将其设置为 'on' 时,Nchan 会对通过 WebSocket 通道发送的消息应用 DEFLATE 压缩算法,通过减小有效载荷大小来优化性能。相反,将该指令设置为 'off' 会禁用此压缩功能,使消息以原始未压缩的格式发送。当遇到某些客户端限制或要求更偏好未压缩数据时,这一点也很重要。
该指令可以放置在 server 或 location 上下文中,根据 NGINX 服务器内的不同路由场景进行灵活配置。需要注意的是,压缩可能由于处理开销而引入一些延迟,在决定是否启用此功能时应仔细考虑消息大小和网络状况。
配置示例
location /nchan {
nchan_deflate_message_for_websocket on;
nchan_pubsub;
}⚠
确保 WebSocket 客户端支持 DEFLATE 压缩的消息;否则,它们可能无法正确连接或处理消息。
⚠
注意消息压缩带来的额外 CPU 开销,尤其是在高负载情况下。