我创建了一个存储桶,但没有更改默认的“阻止公共访问”设置。但是,我为该存储桶启用了静态虚拟主机。这实际上会覆盖S3存储桶的“阻止公共访问”设置吗?
因为AWS文档说:
有点模棱两可,对此有什么想法吗?因为当s3设置为“阻止公共访问”时可以访问我的s3网站。
答案 0 :(得分:1)
为了测试这种情况,我做了以下事情:
https://my-bucket.s3-ap-southeast-2.amazonaws.com/foo.jpg
Access Denied
(好!)http://my-bucket.s3-website-ap-southeast-2.amazonaws.com/foo.jpg
因此,仅激活静态网站托管不足以将其公开。
结论
如果您的对象可以公开访问,则可能是以下两种情况之一造成的:
但是,如果在存储桶和对象(根据您的图片)上启用了“阻止公共访问”,则这些对象将不是公共的。在这种情况下,您一定不能一直通过对象的公共(匿名)URL访问对象。如果您单击控制台中的打开或下载按钮,该按钮会附加用户信息,则可能会发生这种情况。相反,您应该使用原始URL(例如上面列出的URL)进行测试。