403通过CloudFront访问我的网站时禁止访问

时间:2017-11-23 19:48:29

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

我将CloudFront与S3-bucket结合使用。

当我直接访问我的CloudFront-domain(d4 ... cloudfront.net)时,一切正常,我可以看到我的网站+ SSL证书。

但是当我访问我的网站时,我收到403 Forbidden-message(尝试检索自定义错误文档时出错)。

这是我得到的错误: enter image description here

这是响应头: enter image description here

到目前为止我尝试了什么:

  • 当我创建CloudFront分配时,我选择了" Origin Access Identity:创建一个新的身份"和"更新存储桶政策"
  • 我添加了一个自定义错误页面,它返回StatusCode 200和/index.html作为respone页面

我的S3存储桶不公开,因为我只希望我的CloudFront使用此策略访问S3-Bucket:

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

1 个答案:

答案 0 :(得分:2)

您需要设置Origin Access Identity。这允许您将存储桶保密,仅允许通过CloudFront进行访问。这很容易设置。我已经包含了两个链接,可以帮助您了解所有步骤。

enter link description here

Serving Private Content through CloudFront

此StackOverflow Q / A也将为您提供帮助。通过“Michael - sqlbot”查看答案。

Relationship between Origin Access Identities and CloudFront Signed Urls