【问题标题】:nginx configured with brotli is not compressing large JSON responses配置了 brotli 的 nginx 未压缩大型 JSON 响应
【发布时间】:2022-11-04 15:05:39
【问题描述】:

我们有一个带有 nginx 的 Web 应用服务器,它在 Google Cloud 上的高山容器中运行。

nginx 是从源代码构建的,因为我们需要的 spnego 插件只能作为源代码使用。

服务器运行 django,95% 的响应是 JSON 数据(有些可能是几兆字节)。 除了 javascript 包和一些小图标外,很少有静态资源

我在 nginx 配置中有以下内容

gzip off;
brotli on;
brotli_comp_level 4;
brotli_static on;
brotli_window 16m;
brotli_types *;

当我检查浏览器时,我只看到 brotli 提供的最小请求 - 超过 300 字节的所有内容都采用 gzip 编码。

我错过了什么?

提前致谢

【问题讨论】:

  • 发布您的整个nginx.conf 文件,这样会更容易找出您的配置有什么问题。

标签: nginx brotli ngx-brotli


【解决方案1】:

如果您的 Django 应用程序正在使用 GZipMiddleware 或者它已经返回 gzip 响应,则 Nginx Brotli 模块将不会尝试压缩响应。

当 Nginx 收到您的应用程序的响应时,如果响应已经被压缩,它将不会尝试再次压缩它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-17
    • 2021-09-15
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    相关资源
    最近更新 更多