所以..我有一个Amazon S3存储桶,我想通过http向应用服务器提供一些文件。为了确保这一点,设置特定的用户代理集以及IP限制。
这是我做过的事情
a)创建了一个名为“my-test-bucket”的新桶
b)将存储桶设置为“启用网站托管”
c)在桶中添加了一个简单的index.html
d)设置以下存储桶策略以测试连接(对zee Internet开放)
{
"Version": "2008-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "Public",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-test-bucket/*"
}
]
}
d)经过测试,确实有效!
e)设置存储桶策略以限制用户代理
{
"Version": "2008-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "Public",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-test-bucket/*",
"Condition": {
"StringEquals": {
"aws:UserAgent": "test"
}
}
}
]
}
f)使用Postman进行测试,在标题中设置User-Agent,不进行
现在奇怪的是......我在另一个桶上使用了类似的存储桶策略,效果很好!关于我在这里做错了什么想法?
PS ..还没有添加到IP地址检查,一旦这个工作将来到下一个
答案 0 :(得分:0)
问题是由于浏览器缓存..因此,对于每个新测试,我需要添加一个时间戳,以确保它不被浏览器缓存。
http://my-test-bucket.s3.amazonaws.com/test.html?t=123321