HTTP 403 状态代码(权限被拒绝)
HTTP 403 错误意味着客户端无权访问所请求的资源。客户端理解了请求,但无法向查看器授予访问权限。以下是 CloudFront 返回此状态代码的常见原因:
主题
备用 CNAME 配置不正确
确认您为分配指定了正确的 CNAME。要使用备用 CNAME 代替默认 CloudFront URL,请执行以下操作:
-
在您的 DNS 中创建一条 CNAME 记录,将 CNAME 指向 CloudFront 分配 URL。
-
在 CloudFront 分配配置中添加该 CNAME。
如果您创建了 DNS 记录但未在 CloudFront 分配配置中添加 CNAME,则该请求将返回 403 错误。有关配置自定义 CNAME 的更多信息,请参阅通过添加备用域名(CNAME)使用自定义 URL。
在 CloudFront 分配或源上配置 Amazon WAF
当 Amazon WAF 位于客户端和 CloudFront 之间时,CloudFront 无法区分 403 错误代码是由源返回的,还是当请求被阻止时由 Amazon WAF 返回的。
要查找 403 状态代码的来源,请检查 Amazon WAF Web 访问控制列表(ACL)规则中是否有被阻止的请求。有关更多信息,请参阅以下主题:
自定义源返回 403 错误
如果您使用的是自定义源,则当源中有自定义防火墙配置时,您可能会看到 403 错误。要排除故障,请直接向源发出请求。如果您可以在没有 CloudFront 的情况下重现此错误,则表示是源导致了 403 错误。
如果是自定义源导致了错误,请检查源日志来确定可能导致错误的原因。有关更多信息,请参阅以下故障排除主题:
Amazon S3 源返回 403 错误
您可能会由于以下原因看到 403 错误。
-
CloudFront 无权访问 Amazon S3 存储桶。如果未为分配启用来源访问身份(OAI)或源访问控制(OAC)且存储桶为私有的,则可能发生此情况。
-
所请求 URL 中的指定路径不正确。
-
所请求的对象不存在。
-
主机标头是通过 REST API 端点转发的。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的 HTTP Host 标头存储桶规范。
-
您配置了自定义错误页面。有关更多信息,请参阅 当您已配置自定义错误页面时 CloudFront 如何处理错误。
地理限制返回 403 错误
如果您启动了地理限制(也称为地理阻止)来禁止特定地理位置的用户访问您通过 CloudFront 分配所分配的内容,受阻止的用户会收到 403 错误。
有关更多信息,请参阅 限制您的内容的地理分配。
签名 URL 或签名 Cookie 配置返回 403 错误
如果您为分配的行为配置启用了限制查看器访问,则不使用签名 Cookie 或签名 URL 的请求将导致 403 错误。有关更多信息,请参阅以下主题:
堆叠分配导致 403 错误
如果您在对源端点的请求链中具有两个或更多分配,CloudFront 将返回 403 错误。我们建议不要将一个分配放在另一个分配之前。