compression-vary:增强的压缩 Vary 头处理
安装
你可以在任何基于 RHEL 的发行版中安装此模块,包括但不限于:
- RedHat Enterprise Linux 7、8、9 和 10
- CentOS 7、8、9
- AlmaLinux 8、9
- Rocky Linux 8、9
- Amazon Linux 2 和 Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-compression-vary
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-compression-vary
在 /etc/nginx/nginx.conf 顶部添加以下内容以启用该模块:
load_module modules/ngx_http_compression_vary_filter_module.so;
本文档介绍 nginx-module-compression-vary v0.2.0 发布于 2026 年 3 月 2 日。
概要
server {
listen 127.0.0.1:8080;
server_name localhost;
location / {
gzip on;
compression_vary on;
proxy_pass http://foo.com;
}
}
指令
compression_vary
语法: compression_vary on | off;
默认值: compression_vary off;
上下文: http、server、location
如果 gzip、gzip_static 或 gunzip 指令处于激活状态,则启用或禁用插入 Vary: Accept-Encoding 响应头字段。
与 gzip_vary 不同,如果原始响应中已存在 Vary 头,它会将 Accept-Encoding 追加到原始 Vary 头中。此外,多个 Vary 头将合并为一个,并以逗号分隔。Vary 中重复的头值将被移除。
当第三方压缩模块(如 brotli、brotli_static、unbrotli、zstd、zstd_static 和 unzstd)的指令被激活时,此模块同样有效。