如何使用 AWS S3来托管静态网站

AWS S3 提供了云存储服务,它还可以为我们提供廉价的静态网站托管服务。这里说的静态网站是指图片、网页、Javascript脚本、CSS等组成的网站,不是ASP.NET, JSP 等动态网站。

1. 创建一个 AWS S3 bucket

2. 设置 AWS S3 为网站

这需要点击 properties,然后浏览到网页底部,勾选 static website hosting
如何使用 AWS S3来托管静态网站_第1张图片
在最底端,你可以看到网站的名字,形如:

http://your_bucket_name.s3-website.ap-east-1.amazonaws.com

设置 bucket 内容为 public

只是设置我们的 bucket 为 web site,我们访问网站时会看到 403 错误。我们还需要设置 bucket 内容为 public

这个需要分两步:

  1. 去掉 Block public access (bucket settings)如何使用 AWS S3来托管静态网站_第2张图片
  2. 增加一个 policy
    选择 Bucket Policy -> Edit,添加下面的内容,注意把 bucket-name 改为你的。
{
     
    "Version": "2012-10-17",
    "Statement": [
        {
     
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::bucket-name/*"
        }
    ]
}

上传文件

你可以以为我们需要FTP来上传文件,其实我们可以直接使用 AWS S3 控制台来上传文件,在那里我们可以同时上传文件和文件夹。

选择 bucket -> object
如何使用 AWS S3来托管静态网站_第3张图片
然后点击 upload 按钮
如何使用 AWS S3来托管静态网站_第4张图片

结论

我们可以通过设置 s3 的属性为网站,并设置对应的安全属性来使用 AWS S3 来托管我们的网站。

你可能感兴趣的:(架构,aws,web,云服务)