亚马逊网络服务 – 亚马逊S3桶返回403禁止

我最近继承了使用S3存储资产的Rails应用程序。我已将所有资产转移到我的S3桶,没有任何问题。但是,当我改变应用程序指向新的桶我得到403禁止状态。

我的S3桶设置为以下设置:

权限

每个人都可以列出

桶政策

{
 "Version": "2012-10-17",
 "Statement": [
    {
        "Sid": "PublicReadGetObject",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::bucketname/*"
    }
 ]
}

CORS配置

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
    </CORSRule>
    <CORSRule>
        <AllowedOrigin>https://www.appdomain.com</AllowedOrigin>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

静态网页寄存

启用。

还有什么可以让公众达到这些资产?

最佳答案
问题是根据this thread进行转让,本身不是一个问题。问题来自于以前的开发人员,在转移之前,不会更改文件的权限。这意味着我无法管理任何文件,即使他们在我的桶。

问题是通过从前一个桶中彻底重新下载文件,删除旧的幻影文件,重新上传新文件并设置其允许公开阅读文件的权限来解决的。

转载注明原文:亚马逊网络服务 – 亚马逊S3桶返回403禁止 - 代码日志