我的 Amazon CloudFront 分配返回 HTTP 404(未找到)错误。为什么会发生这种情况?如何排查此问题?
简短描述
如果请求的文件在 CloudFront 分配中配置的源中不存在,则源将返回 **HTTP 404(未找到)**状态代码。然后,CloudFront 将状态代码返回给查看者。
解决方法
要对 CloudFront 中的 **HTTP 404(未找到)**错误进行问题排查,请验证以下内容:
1. 请求的文件存在于源中。
2. 请求 URL 的路径与源中的文件路径匹配。
**重要信息:**请确保请求 URL 的路径包含整个文件路径,包括对象名称。在将请求转发到源之前,您可以使用边缘函数将完整文件路径附加到请求。
3. (对于使用边缘函数的分配)函数正在正确修改请求 URL 路径。要进行验证,请查看 Lambda@Edge 日志或 CloudFront Functions 日志。
4. (对于具有多个源的分配)正在将请求发送到正确的源。要进行验证,请查看分配的缓存行为设置中指定的路径模式。然后,确保请求 URL 与预期的路径模式匹配。
**重要信息:**CloudFront 路径模式和对 Amazon Simple Storage Service (Amazon S3) 中对象的引用区分大小写