我想发生的事情是我只希望从“ thesite.com”或“ thesite2.com”获得我的存储桶。此设置适用于存储桶中的大多数文件。
我已经对文件进行了交叉检查,以查看它与正在运行的文件是否有任何不同,我找不到与众不同的区别。
这是我的存储桶策略
{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "Allow get requests originating from www.thesite.com and thesite.com.",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::the-bucket/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"https://www.thesite.com/*",
"https://thesite.com/*",
"https://www.thesite2.com/*",
"https://thesite2.com/*"
]
}
}
}
]
}
这是我的Cors配置
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>https://www.thesite.com/</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>https://www.thesite2.com/</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
因此,问题在于某些文件似乎没有注册这些更改。我不得不将这些文件设置为“ public”,这不是我想要的,因为现在它对所有人开放,而不仅仅是我的用户。 有人可以提供任何故障排除提示以帮助我解决此问题吗?这些文件很大,因此重新上传它们应该是最后的选择。
答案 0 :(得分:0)
好吧,在挖了一会儿之后。 我意识到这是一个许可问题。我是与上传文件的其他用户不同的用户,我想它限制了对其的任何更改?
因此,除了我已经在存储桶策略中拥有的内容之外,我还添加了以下内容:
{
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::bucket-name/*",
"Principal": "*"
}
现在,文件选择了“ Cors配置”。 *