我在分配中为特定 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 响应。
相关信息
路径模式
如何解决 CloudFront 中的 HTTP 404(未找到)错误?