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

AWS CloudFront缓存失效问题咨询:单文件与目录路径差异

为什么CloudFront单文件缓存失效没生效,目录路径却可以?

我来帮你拆解这个CloudFront缓存失效的问题——你遇到的情况其实是CloudFront路径匹配规则的典型坑点,咱们一步步说清楚:

核心差异:路径的绝对/相对格式

你执行的两个失效命令,关键区别在于路径是否以斜杠开头:

  • 第一个命令用的是dir/abc.html(相对路径,无起始斜杠),CloudFront根本找不到对应的缓存条目,所以失效操作无效;
  • 第二个命令用的是/dir/(绝对路径,带起始斜杠),能匹配到该目录下的所有缓存内容,所以生效了。

CloudFront的缓存路径规则

CloudFront的缓存键(决定缓存条目唯一标识的关键)是从分发根目录开始的绝对路径,也就是说,你网站上的/dir/abc.html文件,在CloudFront缓存里的路径就是带起始斜杠的/dir/abc.html。

如果你省略了开头的斜杠,用dir/abc.html去执行失效,相当于告诉CloudFront“去找一个叫dir/abc.html的缓存条目”,但实际上缓存里根本不存在这个格式的路径——所有缓存条目都是绝对路径格式,所以这个失效命令相当于“无的放矢”,自然没效果。

而/dir/这种带起始斜杠的目录路径,CloudFront会将其识别为目录级的失效,会匹配该目录下的所有缓存文件(包括你要更新的/dir/abc.html),所以能达到你想要的更新效果。

正确的单文件失效命令

如果只想精准失效/dir/abc.html这一个文件,你需要把路径改成带起始斜杠的绝对路径,正确的命令是:

aws cloudfront create-invalidation --distribution-id dfhdhdufhjgh --paths /dir/abc.html

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:27:38