使用CloudFront在AWS S3中进行静态站点部署

时间:2014-04-25 04:44:19

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

我正在尝试设置一个已配置为使用index.html默认文档的静态网站。我在S3中设置了以下存储桶策略:

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Sid": "Allow Public Access to All Objects",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::www.risendeadmc.com/*",
      "Condition": {}
    }
  ]
}

第二步是我创建了一个CloundFront分发版来分发这个S3内容。

问题1:CDN域名仍可访问子文件夹,但index.html不再作为文档和命中文件夹的默认值加载,导致内容下载。

然后我在Route53中为CDN发行版设置了一个A记录别名,现在无论我使用什么都没有解决403 Forbidden错误。

非常感谢任何可以解决的配置建议。

我正在寻找的是能够使用我在Route53中设置的域来指向CloudFront Distribution以提供访问(具有index.html默认)内容访问权限。

我想将root和子文件夹的默认访问点保留为非文件后缀端点引用:

http://mydomain.com/root

http://mydomain.com/root/sub/subroot

而不是地址index.html

1 个答案:

答案 0 :(得分:3)

您需要确保在Amazon S3中设置默认根对象,并且您的来源是S3网站端点。

示例来源:www.example.com.s3-website-us-east-1.amazonaws.com

http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html