unbrotli_force

指令 `unbrotli_force` 控制是否在不考虑客户端支持的情况下强制解压 Brotli 编码的响应。

语法unbrotli_force on | off;
默认值off
上下文http, server, location
参数flag

说明

NGINX 中的 unbrotli_force 指令属于 ngx_unbrotli 过滤模块,该模块负责对使用 Brotli 压缩算法编码的响应进行解压。当将该指令设置为 on 启用时,它会强制服务器对所有 Brotli 编码的响应进行解压,绕过通常用于检测客户端是否支持 Brotli 的 Accept-Encoding 头检查。这意味着即使客户端声明支持 Brotli,也将收到解压后的内容,这在某些情况下很有用,例如无论客户端能力如何都需要未压缩数据的情形。

该指令可以在 httpserverlocation 等不同上下文中配置,可用于不同粒度的配置。unbrotli_force 的默认值为 off,这意味着服务器只会对那些未表明支持 Brotli 的客户端进行 Brotli 响应的解压。与必须启用以进行任何解压的 unbrotli 指令结合使用时,该指令基于 Brotli 编码对响应处理提供了细粒度控制,适用于需要原始未压缩数据的特定用户。

配置示例

location /assets/ {
    unbrotli on;
    unbrotli_force on;
    unbrotli_buffers 32 4k;
}

强制解压可能导致带宽使用增加,因为所有 Brotli-encoded 的响应都会以未压缩的形式发送,无论客户端的能力如何。

在对性能敏感的环境中请谨慎使用,因为它可能会对支持 Brotli compression 的客户端的响应时间产生负面影响。

如果上游服务也生成响应且这些响应也是 Brotli encoded,请确保它们能够适当地处理 brotli responses。

← 返回所有指令