s3托管静态网站

简单记录一下s3托管静态网站的步骤。

创建存储桶

存储桶的名称最好跟网站域名一致,比如excample.com

属性

  • 静态网站托管
    主要设置一下几个点
    • 静态网站托管,启用
    • 托管类型,托管静态网站
    • 索引文档,index.html,根据实际情况填写。
      设置好以后,会有一个存储桶网站终端节点,类似于http://BUCKETNAME.s3-website-ap-northeast-1.amazonaws.com,记住这个名字,下面设置cloudfront的时候会用到

      权限

  • 阻止公有访问(存储桶设置)
    • 关闭阻止所有公开访问
  • 存储桶策略
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Sid": "PublicReadGetObject",
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::excample.com/*",
    "Condition": {
    "StringLike": {
    "aws:Referer": "xxxxxxxx"
    }
    }
    }
    ]
    }

这个地方的Condition是为了使用cloudfront,限制只能通过cloudfront访问的。如果不使用cloudfront的话,可以去掉。

创建CloudFront分配

常规

  • 设置
    • 价格级别,使用北美洲、欧洲、亚洲、中东和非洲

  • 源域,填写存储桶网站终端节点
  • 添加自定义标头
    • 标头名称,Refer
    • 值,xxxxxxxx,这个值跟上面存储桶设定的条件要保持一致
  • 启用源护盾
    • 选择是,并选择亚太地区东京,这个也根据实际情况选择吧

      行为

  • 查看器
    • 查看器协议策略,选择Redirect HTTP to HTTPS