为什么 CloudFront 不遵循我创建的缓存行为?

上次更新日期:2020 年 11 月 25 日

我为我的分配上的特定 URL 路径模式创建了自定义缓存行为,但 Amazon CloudFront 并未执行该缓存行为。为什么?

解决方法

如果您的 CloudFront 分配不遵循您创建的缓存行为,请检查以下各项:

  • 检查您的分配的行为,确保存在适用于您请求的路径模式的缓存行为。如果缓存行为中未正确定义请求的路径模式,CloudFront 将使用默认缓存行为。例如,如果一个缓存行为的路径模式设置为 test/,那么向 example.com/test/file1.jpg 发出的请求将遵循默认缓存行为。该请求不会遵循为 test/ 指定的行为, 因为该路径模式结尾没有通配符 (test/*)。
  • 检查缓存行为中指定的路径模式,以确保大小写格式正确。CloudFront 中指定的路径模式区分大小写。对 Amazon Simple Storage Service (Amazon S3) 中的存储桶或对象的引用也区分大小写。如果路径模式的大小写不正确,同时您的默认缓存行为未缓存请求的内容,则用户可能会收到“404 未找到”错误。
  • 如果您最近对缓存行为进行了更改,并且希望在现有内容从缓存过期之前提供更新的内容,那么请考虑运行失效。 

注意:CloudFront 不会生成 404 响应。如果未在 CloudFront 缓存中找到请求的对象,该请求将被发送到源,并且源会生成 404 响应。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?