nginx可以对websocket连接做透明压缩吗?
Posted
技术标签:
【中文标题】nginx可以对websocket连接做透明压缩吗?【英文标题】:Can nginx do transparent compression of websocket connections? 【发布时间】:2019-08-10 20:18:45 【问题描述】:我让 nginx 充当 ASP.net / Kestrel 后端服务器的反向代理。
我希望 nginx 为我的 Websocket 连接进行 gzip 压缩(即 permessage-deflate / rfc7692),但我找不到任何配置选项。
nginx 能做到吗?有没有插件可以让它工作?如果没有,还有什么我可以使用的吗?
【问题讨论】:
【参考方案1】:只需编辑您的 nginx 配置。静态站点、代理或 websocket 也是如此
gunzip on; // be sure to include this. This enables runtime decompression for clients that do not accept gzip
gzip on; //enables gzip for request
gzip_proxied any; //enables compression on proxies
gzip_types *; //compress everything there is
如果这不起作用,请在通过套接字发送之前尝试压缩消息。 你可以在这里阅读更多信息:https://docs.nginx.com/nginx/admin-guide/web-server/compression/
【讨论】:
以上是关于nginx可以对websocket连接做透明压缩吗?的主要内容,如果未能解决你的问题,请参考以下文章
用nginx代理netty实现的websocket做负载均衡,最大连接数取决于谁
nginx 可以用作后端 websocket 服务器的反向代理吗?