Amazon 是亚马逊旗下的云计算服务平台,S3是其中的云存储服务,等同于阿里云的对象存储 OSS 和腾讯云的对象存储 COS,选择S3存储文件的一个重要的原因是域名访问无需备案。
创建存储桶(Bucket)
存储桶名称与你的访问域名demo-img.example.com相同,区域选择香港,减少国内访问延迟,其余设置先使用默认配置,最后点击创建存储桶
接下来存储桶以demo-img.example.com为例
任意上传一个图片文件后,进入文件详情,访问文件对象URL,会发现无法正常访问图片文件,并且提示错误信息This XML file does not appear to have any style information associated with it. The document tree is shown below.
设置访问策略
当前 Bucket 状态是阻止外网访问的,要想访问,需要在权限中修改两个位置才能被外网访问
-
阻止公有访问(存储桶设置):取消勾选阻止所有公开访问
-
存储桶策略:需要将demo-img.example.com替换成自己的 Bucket 名称
json{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::demo-img.example.com/*" } ] }
123456789101112
接下来再尝试访问图片文件 https://s3.ap-east-1.amazonaws.com/demo-img.example.com/文件名
,就可以正常访问了
域名解析
添加一条CNAME解析记录,主机记录为demo-img,记录值为demo-img.example.com.s3.ap-east-1.amazonaws.com
- 主机记录:如果Bucket 名称为 demo-img.example.com,那么,主机记录就是 demo-img
- 记录值:格式为
Bucket 名称
.s3.区域 Region
.amazonaws.com,以 demo-img.example.com 香港区域为例,记录值为 demo-img.example.com.s3.ap-east-1.amazonaws.com
添加之后,等待解析生效,就可以通过 http://demo-img.example.com/文件名
进行访问了
评论 (0)