apache支持brotli压缩需启用mod_brotli模块并配置:1.确认版本≥2.4.26;2.安装模块(ubuntu用apt,centos需编译);3.配置压缩质量、窗口及mime类型;4.验证响应头含content-encoding: br。

Apache 要支持 Brotli 压缩,核心是启用 mod_brotli 模块并合理配置压缩策略。它不是开箱即用的功能,需确认环境兼容性、安装模块、精确配置 MIME 类型与参数,再验证生效。
确认 Apache 版本与系统支持
mod_brotli 仅支持 Apache 2.4.26 及以上版本。在终端运行:
apache2 -v若版本过低,需先升级 Apache。Ubuntu/Debian 系统通常可通过 apt update && apt upgrade apache2 更新;CentOS/RHEL 则建议使用官方源或编译安装。
安装并启用 mod_brotli 模块
Ubuntu/Debian 执行:
sudo apt-get install libapache2-mod-brotlisudo a2enmod brotlisudo systemctl restart apache2
CentOS/RHEL 需手动编译安装 Brotli 库和模块:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 先安装依赖:
yum groupinstall "Development Tools" cmake - 编译安装 Brotli:
git clone https://github.com/google/brotli && cd brotli && mkdir out && cd out && cmake .. && make && sudo make install - 重新编译 Apache 时添加
--enable-brotli --with-brotli=/usr/local
配置 Brotli 压缩行为
编辑主配置文件(如 /etc/apache2/apache2.conf 或独立的 conf-available/brotli.conf),添加如下内容:
<ifmodule mod_brotli.c>
# 启用 Brotli 压缩
SetOutputFilter BROTLI_COMPRESS
<pre class="brush:php;toolbar:false;"># 设置压缩质量(0–11,推荐 6–8)
BrotliCompressionQuality 7
# 设置滑动窗口大小(单位 bit,18=256KB,推荐 18–22)
BrotliCompressionWindow 22
# 指定需压缩的响应类型(重点覆盖文本类资源)
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/css text/xml text/javascript application/javascript application/json application/xml application/rss+xml image/svg+xml
# 排除不适宜压缩的二进制文件
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|webp|woff2?)$ no-brotli
# 确保 Vary 头正确发送,避免 CDN 缓存混淆
<IfModule mod_headers.c>
Header append Vary Accept-Encoding
</IfModule>
验证是否生效
重启 Apache 后,用 curl 测试:
curl -I -H "Accept-Encoding: br" https://yoursite.com/test.js若响应头中出现 Content-Encoding: br 且 Content-Length 显著减小,说明配置成功。也可用 Chrome 开发者工具 → Network → 查看某请求的 Response Headers 栏确认。










