我正在尝试编辑我的S3存储桶配置,以便第三方网站无法链接到其中的内容。另外一个好处是,他们只能访问我的域中的内容而不是补充s3bucket.amazon-east.amazonaws.com或其他类似的内容。
文档中有一个完全相同的示例,但是当我在下面复制/粘贴/修改我的网站时,它不起作用?我仍然得到403错误。当我只取出条件部分时,它允许完全访问,因此referer部分只有一个问题。
这是一段很短的代码我正在靠墙打我的头......希望第二组眼睛可以启发我可能很明显我失踪的东西?
或者可能没有任何问题,在其他地方可能还有其他配置我没有设置/考虑过?
感谢阅读。
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "fml",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::www.mysite.com/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://mysite.com/*",
"http://www.mysite.com/*"
]
}
}
}
]
}
答案 0 :(得分:0)
您是否为您的存储桶启用了日志记录?
如果这样做,您可以检查日志以验证引用者是否记录了这些403拒绝访问消息,并且这是您所期望的。如果不是,那么问题不在于存储桶配置 - 这是为什么浏览器不会发送引用的问题。
如果您没有启用日志记录,请启用日志记录。
另外一个好处是,他们只能访问我的域中的内容而不是补充s3bucket.amazon-east.amazonaws.com或其他类似内容。
是什么让你觉得这是真的?
答案 1 :(得分:0)
重要的是要注意,如果你的引用者在最后包含/ *那么它只允许来自该引用者的子代的内容,而不是来自该引用者本身的内容。
因此,如果您想要包含主域名,那么您需要这样做:
[1, 2]
[3, 4]
[2, 3]
[4, 1]
[3, 4]
[1, 2]
[4, 1]
[2, 3]