unzstd_force

指定在何种条件下对 HTTP 响应强制应用 zstd 解码的 `unzstd_force` 指令,从而提高与不支持 zstd 编码的客户端的兼容性。

语法unzstd_force string ...;
默认值none
上下文http, server, location
参数1+

说明

在 NGINX 配置中使用 unzstd_force 指令以强制对 zstd 编码的响应进行解压,尤其针对不支持该编码格式的客户端。该指令接受一个或多个字符串参数,如果任一参数被提供(非空且不等于 "0"),则会使服务器尝试对带有 'Content-Encoding: zstd' 的响应进行解压。该功能在需要与旧客户端向后兼容的环境中尤为有用,允许这些客户端以解压后的格式接收数据,同时服务器仍可从 zstd 压缩带来的存储和 I/O 效率中受益。

在实现 unzstd_force 指令时,需注意服务器向客户端的反馈依赖于响应中是否存在 'Content-Encoding: zstd' 头。如果该头不存在,模块将避免尝试解压,从而防止出现意外行为。此外,该指令可以放置在不同的 NGINX 上下文,例如 http、server 或 location 范围内,根据具体路由或服务器设置要求提供配置灵活性。

配置示例

location / {
    unzstd on;
    unzstd_force "force_condition";
    proxy_pass http://backend.com;
}

对不受支持的客户端强制解压缩可能会由于额外的解压缩处理而导致服务器负载增加。

确保在响应中正确设置 'Content-Encoding: zstd' 头,以避免不一致。

在 unzstd_force 指令中使用过多的值可能会增加复杂性,并可能在请求处理时导致意外后果。

← 返回所有指令