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

如何在AWS CloudFront启用浏览器缓存?配置托管缓存策略未生效怎么办

CloudFront托管缓存策略未生效的遗漏配置排查项
  • 源站缓存头规则冲突
    若源站返回Cache-Control: no-cache/no-store、Pragma: no-cache这类禁用缓存的响应头,或者源站未返回任何缓存相关标头,且你的缓存策略未开启「覆盖源站缓存控制头」的配置,CloudFront会默认遵循源站规则,不会向下游下发缓存标头。如果使用S3作为源站,还要检查对应对象的元数据是否配置了正确的缓存规则。
  • 缓存策略配置错误
    首先确认你选择的托管策略不是Managed-CachingDisabled(该策略默认完全关闭缓存功能),再检查策略的最小/默认/最大TTL配置,若三类TTL均设置为0则不会生效。另外还要检查缓存键配置:如果缓存键包含了全量查询字符串、全量Cookie或者无关的请求头,会导致不同用户的请求被判定为独立缓存键,永远无法命中缓存,也不会返回预期缓存头。
  • 分发行为优先级匹配错误
    CloudFront的分发行为是按优先级从上到下匹配,命中第一条符合规则的行为后就不会再匹配后续的默认行为。如果你为当前资源所在路径(如/images/*)单独配置了更高优先级的行为,但该行为未绑定正确的缓存策略、仍然使用旧版遗留缓存配置甚至禁用了缓存,就会导致默认行为的缓存规则不生效。
  • 关联策略/边缘函数覆盖了缓存头
    CloudFront分发行为需要同时绑定缓存策略、源请求策略、响应头策略三类规则:
    • 若响应头策略配置了删除Cache-Control、Expires等缓存相关头,浏览器将无法识别缓存规则
    • 若源请求策略强制携带Cache-Control: no-cache头回源,会导致源站返回禁用缓存的响应
      另外如果配置了Lambda@Edge或CloudFront Functions,还要检查是否在Origin Response、Viewer Response阶段修改或删除了缓存相关标头。
  • 配置未完全分发/测试方法错误
    CloudFront的配置修改最长需要10分钟完成全球节点分发,刚修改完立刻测试会命中旧规则。测试时还要确认没有开启浏览器开发者工具的「禁用缓存」选项,也没有给资源URL附加随机查询参数强制回源。

你可以通过命令curl -I https://cdn.thekiwi.app/images/skills/SubCategories/81/desktop_b/81.png查看响应头,若存在x-cache: Hit from cloudfront说明缓存已命中,若连x-cache头都不存在,需要先确认域名解析是否正确指向你的CloudFront分发。
参考配置截图:
配置截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:45:03