You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CloudFront开启自动压缩时如何提供手动压缩的brotli文件

可行,无需使用Lambda@Edge,按以下步骤调整配置即可实现

1. 调整CloudFront缓存行为配置

  • 进入对应CloudFront分配的设置页,找到匹配CSS文件的缓存行为:
    • 确保「自动压缩对象」开关保持开启,同时开启配套的提供预压缩文件选项(不同控制台版本名称略有差异,核心是允许CloudFront识别S3中已经提前压缩好的文件)
    • 确认绑定的缓存策略中,Accept-Encoding请求头已被加入缓存键,且允许的编码值包含br

2. 修正S3中预压缩文件的存储配置

你之前同目录存放test.css和test.css.br的方式不符合CloudFront的预压缩识别逻辑,CloudFront会把带.br后缀的文件视为独立普通文件,不会和原CSS文件关联,因此需要调整:

  • 本地生成的最高等级brotli压缩文件,直接命名为和原文件完全一致的名称,比如原文件是test.css,压缩后的文件也命名为test.css,无需加.br后缀
  • 上传这个预压缩文件到S3时,必须手动配置两个元数据:
    • Content-Encoding:值设为br,标记文件为brotli压缩格式
    • Content-Type:值设为text/css,和原文件的媒体类型保持一致
  • 如果需要兼容不支持brotli的老旧客户端,可以另外上传gzip压缩版本的同名文件,元数据设置Content-Encoding: gzip,或保留未压缩的原版本,CloudFront会自动根据客户端传入的Accept-Encoding请求头匹配返回最优版本

注意:上传时不要开启S3侧的自动压缩功能,避免二次压缩导致文件损坏

3. 重新触发缓存失效

所有配置调整完成后,再次对test.css路径执行CloudFront全路径失效操作,等待失效生效后测试即可,此时CloudFront会优先返回你预压缩的最高等级brotli文件,不会再触发动态压缩。

内容的提问来源于stack exchange,提问作者Pavelloz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:54:02