【问题标题】:Can nginx do transparent compression of websocket connections?nginx可以对websocket连接做透明压缩吗?
【发布时间】:2026-02-17 11:30:01
【问题描述】:

我让 nginx 充当 ASP.net / Kestrel 后端服务器的反向代理。

我希望 nginx 为我的 Websocket 连接进行 gzip 压缩(即 permessage-deflate / rfc7692),但我找不到任何配置选项。

nginx 能做到吗?有没有插件可以让它工作?如果没有,还有什么我可以使用的吗?

【问题讨论】:

    标签: nginx websocket proxy compression gzip


    【解决方案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/

    【讨论】: