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

同时启用gzip和br时CloudFront有时返回gzip而非br的原因是什么?

CloudFront 部分请求返回gzip而非Brotli的成因说明

常见成因

  • 缓存遗留问题
    CloudFront边缘节点的缓存具备惰性更新特性:若节点中已缓存了某文件的gzip版本(例如缓存策略调整前的旧缓存、历史上不支持Brotli的客户端请求触发的回源缓存),在缓存TTL过期前,节点不会主动重新生成Brotli版本,会直接返回已缓存的gzip内容,这是该现象最常见的诱因。
  • 压缩效率优先逻辑
    CloudFront自动压缩时会在底层对比两种压缩格式的最终产出大小:当Brotli压缩后的文件体积大于等于gzip压缩结果时(该场景常见于小于1KB的极小文件、本身已经过高压缩处理的文本类资源),会直接返回体积更小的gzip版本,该逻辑属于平台内部性能优化项,未在公开文档中明确标注。
  • 源站预压缩干扰
    若你的源站对部分资源返回了已压缩的内容(响应头携带Content-Encoding: gzip),CloudFront默认不会对已压缩的资源进行二次转压缩,会直接透传源站返回的gzip内容,不会生成Brotli版本。
  • 内容类型适配问题
    CloudFront默认仅对指定的Content-Type类型的资源开启自动压缩,若部分资源的Content-Type不在支持列表中,即使缓存策略开启了压缩也不会生效,不过该场景下通常会返回未压缩内容而非gzip,可作为次要排查方向。

排查方案

  • 对返回gzip的异常文件提交一次缓存失效操作,清除边缘节点的旧缓存后重新发起支持Brotli的请求,确认是否仍返回gzip。
  • 检查源站响应头,关闭源站的预压缩逻辑,交由CloudFront统一处理压缩逻辑;或源站同时提供gzip和Brotli的预压缩资源,通过内容协商规则匹配返回。
  • 对比异常文件的大小和内容特征,若均为1KB以下的极小文件或压缩空间极低的资源,该现象属于正常优化逻辑,无需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 12:06:03