【问题标题】:Getting 403 (Forbidden) error when accessing static site from custom domain从自定义域访问静态站点时出现 403(禁止)错误
【发布时间】:2021-07-10 14:10:45
【问题描述】:

我正在 S3 和 Cloudfront 上建立一个静态站点。我在 Cloudfront 上设置了 SSL 等,我可以使用 *.cloudfront.net URL 访问该站点。但是,从自定义域访问时,出现 403 错误。有谁知道为什么?桶策略如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "2",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXX"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::www.mydomain.com/*"
        }
    ]
}

这应该允许从自定义域 mydomain.com 进行访问,对吧?

为了测试,我尝试设置"Principal": "*",但它仍然给出403。

任何帮助表示赞赏。

【问题讨论】:

  • www.mydomain.com 存储桶名称吗?此外,存储桶不得处于网站模式。此外,您在存储桶的 CF disto 设置中使用了什么端点。它不能是网站端点。
  • 这里的 DNS 设置是什么?您是否将自定义域直接指向 S3,而不是通过 CloudFront?可能是您在 CloudFront 上设置了一个未在 S3 上配置的默认资源(例如 index.html)。使用自定义域时,请尝试将完整的资源路径放入地址中。
  • @Marcin 现在一切都好。备用域名不知何故无法更新。我不得不创建一个新的发行版。
  • @F_SO_K 现在一切都好。我必须使用正确的 CNAME 创建一个新发行版。
  • 酷。谢谢你告诉我。

标签: amazon-web-services amazon-s3 amazon-cloudfront


【解决方案1】:

这个问题看起来是由“对象不可公开读取”引起的。

默认情况下,S3 存储桶设置为“阻止所有公共访问”。所以你需要检查它是否被禁用。

然后您可以将您的对象配置为公开可用,这可以通过两种方式完成:

  1. Bucket Level Restriction via Policy
  2. Object Level Restriction (in case you have a use case that requires granular control)

最后,如果您有上传这些内容的脚本,您还可以使用此脚本按需附加限制策略。

aws s3 cp /path/to/file s3://sample_bucket --acl public-read

【讨论】:

  • 是的,它们都被禁用了。不过,我可以从 *.cloudfront.net 访问该网站。
  • 很遗憾,这不是必需的。 CloudFront Origin Access Identity XXXXXXXX 证明 OP 正在使用 OAI。
  • 请详细说明如何将您的云端端点绑定到您的自定义域中。
  • @EdcelCabreraVista 现在一切都好。我必须使用正确的 CNAME 创建一个新发行版。
【解决方案2】:

我现在已经修好了。我错误地将“备用域名”留空。

【讨论】:

    【解决方案3】:

    我知道这是一个较老的问题,但我想我会为未来的搜索者补充:确保(截至 2021 年年中)您的 Cloudfront 来源配置为访问 example.com.s3-website-us-将 S3 存储桶设置为静态网站托管后,east-1.amazonaws.com 而不是 example.com.s3.amazonaws.com - 我被绊倒了,因为(再次,截至 2021 年年中)Cloudfront UI 建议后者, 错误的 S3 URL 作为下拉自动完成,并且它们足够接近,如果您尝试从内存中而不是遵循文档,您可能无法弄清楚细微差别是什么。

    【讨论】:

      猜你喜欢
      • 2018-12-11
      • 1970-01-01
      • 2015-01-09
      • 2020-01-07
      • 1970-01-01
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多