是否可以根据Nginx中的请求headers动态设置Brotli压缩级别?

Is it possible to set Brotli compression level dynamically based on the request headers in Nginx?

我正在使用 Brotli 进行响应压缩,并在 Nginx 中使用 nginx-brotli module

我想根据请求 headers 动态设置 brotli_comp_level 的值,以便慢速网络上的客户端可以请求更高的压缩。我怎样才能做到这一点?

我试了没用:

http {
  ...

  brotli on;
  brotli_comp_level 6;
  brotli_types *;

  if ($http_x_brotli_high_quality) {
    brotli_comp_level 11;
  }
}

NGINX Plus 的 stock/packaged Brotli 模块无法实现。

但是,您可以使用以下集成的 pull request 自定义编译(不推荐用于生产)。

或者,如果预算允许,使用 nginx-module-brotli module package from NGINX Extras,它已将上述拉取请求集成到包中。此选项需要一台 CentOS/RHEL 机器并使用 GetPageSpeed 维护付费订阅。