AWS S3使用小结

使用场景一:储存网站的图片,并能被任何人访问

1. 创建一个bucket,名字与需要绑定的域名一致。

例如,根域名是mysite.com,希望把所有图片放在pic.mysite.com下面,访问的时候用pic.mysite.com/a.jpg就能直接访问,那么这个bucket的名字就应该设置成pic.mysite.com

这时候就能在控制台上传文件了,当然做实际应用的话需要用他的SDK写程序来实现上传功能。

我们上传一个a.jpg,右边Properties里面给出了一个link "https://s3-xxx.amazonaws.com/pic.mysite.com/a.jpg",xxx会根据你的s3

所在区域而不同,点击进去是无法访问的,会提示没有权限。

2. 设置bucket的权限。

在Properties > Permissions 里面点击 Edit Bucket Policy,里面会有Policy Generator指导你怎么编写Policy。

这里我们需要让任何人都能访问bucket里面存的图片,所以把GetObject的权限设置为所有人。

{
    "Version": "2012-10-17",
    "Id": "Policy1434523265640",
    "Statement": [
        {
            "Sid": "Stmt1434523262292",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::pic.mysite.com/*"
        }
    ]
}

这个时候访问前面的https://s3-xxx.amazonaws.com/pic.mysite.com/a.jpg,就可以顺利打开了。

3. 设置域名。

其实 http://pic.mysite.com.s3-xxx.amazonaws.com/a.jpg 这个链接也能打开上面的图片,所以只要给pic.mysite.com设置一个别名CNAME "pic.mysite.com.s3-xxx.amazonaws.com" 就大功告成了。

使用场景二:用S3托管静态网站

可以参考这个文档:

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

 

posted on 2015-07-15 17:57  南京大乱炖  阅读(2168)  评论(0编辑  收藏  举报

导航