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

如何在AWS CloudFront中启用图片缓存策略?

解决CloudFront图片缓存策略未生效的步骤

1. 确认缓存策略已关联到图片对应的分发行为

  • 登录AWS CloudFront控制台,找到目标分发,进入「行为」标签页
  • 检查是否存在针对图片路径/后缀的独立行为(比如/images/*、*.png、*.jpg):
    • 若已有该行为,查看「缓存策略」列是否选择了你创建的自定义策略(而非「无缓存策略」或默认策略)
    • 若无独立行为,点击「创建行为」:
      • 路径模式填写图片的匹配规则(例如*.png或/assets/images/*)
      • 在「缓存策略」下拉框中选择你已配置的缓存策略
      • 保存后等待分发部署完成(通常需要10-15分钟,控制台会显示「已部署」状态)

2. 检查缓存策略的核心配置是否符合图片缓存要求

结合你提供的缓存策略截图,重点确认以下项:

  • TTL设置:静态图片建议设置长周期,比如默认TTL设为31536000秒(1年),最小TTL不低于3600秒(1小时),避免频繁回源
  • 缓存控制头部:确保策略配置了返回给客户端的Cache-Control头部(比如public, max-age=31536000)——这是PageSpeed检测缓存策略的核心依据,缺失该头部会导致PageSpeed判定未设置缓存
  • 缓存键配置:静态图片无需包含额外请求头或查询字符串(除非业务需要区分缓存),仅保留URI作为缓存键即可,避免缓存碎片化

3. 验证缓存是否生效

  • 浏览器开发者工具验证:打开F12→「网络」标签,刷新页面后查看图片请求的响应头:
    • 确认存在CF-Cache-Status头部,值为HIT表示命中缓存(首次请求为MISS,再次刷新应变为HIT)
    • 确认Cache-Control头部与你配置的策略一致
  • 命令行验证:执行curl -I https://你的域名/目标图片路径.png,查看返回的缓存相关头部

4. 常见问题排查

  • 若策略已关联但未生效:
    • 等待CloudFront分发部署完成(控制台状态为「已部署」才会生效)
    • 检查源服务器是否返回Cache-Control: no-cache/no-store,这类头部会覆盖CloudFront策略——可在缓存策略中开启「覆盖源的Cache-Control头部」选项
    • 开启CloudFront实时日志,查看请求是否匹配到了对应的图片行为

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 19:52:30