跳至内容

如何对 CloudFront 中的“HTTP 404 (Not Found)”错误进行故障排除?

1 分钟阅读
0

当查看器请求文件或对象时,我的 Amazon CloudFront 分配返回“HTTP 404 (Not Found)”错误。

解决方法

按照以下故障排除步骤解决 CloudFront 分配配置的错误消息 HTTP 404 status code (Not Found)。

NoSuchBucket 错误消息

如果 Amazon Simple Storage Service (Amazon S3) 存储桶不存在,则您可能会收到“HTTP 404 (Not Found)”错误,并显示错误消息 NoSuchBucket。例如,您使用 Amazon S3 存储桶作为来源,但该存储桶策略不存在或无效。

如果您将 CloudFront 配置为将主机标头转发到来源,也可能会收到此错误代码。如果 AllViewer 托管策略或自定义策略包含 Host 标头,则您会收到此错误代码。要解决此错误,请从策略中移除 Host 标头,或使用 CachingOptimized 策略。

使用 Amazon S3 来源时出现 HTTP 404 错误

如果您使用 Amazon S3 存储桶作为 CloudFront 分配的来源,则可能会收到 HTTP 404 错误。要解决此错误,请检查来源设置。确保 S3 存储桶的来源域名和来源路径 URL 正确无误。

有关详细信息,请参阅来源路径

使用自定义来源时出现 HTTP 404 错误

如果您的 CloudFront 分配配置了自定义来源,则您可能会收到 HTTP 404 错误。要解决此错误,请确保您的 Web 服务器设置正确无误。验证请求的文件是否存在于来源中,并且请求 URL 的路径与来源中的文件路径相匹配。

如果您使用 Amazon Elastic Compute Cloud (Amazon EC2) 作为自定义来源,请检查您的原始服务器配置设置。确保为原始服务器的域名指定负载均衡器的 URL。

来自自定义错误页面的 HTTP 404 错误

如果您的 CloudFront 分配为 HTTP 状态代码配置了自定义错误页面,则 HTTP 404 错误可能是有意的。检查您的分配,看看它是否配置了自定义错误响应。

如果您的分配使用了意外删除的自定义错误页面,则响应会返回已删除自定义错误页面的 HTTP 404 错误。

有关详细信息,请参阅当您已配置自定义错误页面时 CloudFront​ 如何处理错误。

AWS 官方已更新 1 年前