【问题标题】:Preventing hotlinking on Amazon S3 with CloudFront使用 CloudFront 防止 Amazon S3 上的热链接
【发布时间】:2012-05-23 21:52:47
【问题描述】:

我尝试使用此存储桶策略防止在 Amazon S3 上热链接媒体文件。

{
"Version": "2008-10-17",
"Id": "my-id",
"Statement": [
    {
        "Sid": "Allow get requests to specific referrers",
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::bucketname/*",
        "Condition": {
            "StringLike": {
                "aws:Referer": "http://sitename.com/"
            }
        }
    },
    {
        "Sid": "Allow CloudFront get requests",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::amazonaccountid:root"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::bucketname/*"
    }
]
}

ACL 设置为私有。我仍然无法让它接受我试图访问的文件。

我尝试了许多在这里找到的不同策略,但似乎都没有任何效果。 我试图阻止盗链的文件是 .swf 文件。

当我使用没有云端的确切 (bucketname.s3.amazonaws.com) 链接时,它可以工作。

【问题讨论】:

标签: json amazon-s3 amazon-cloudfront hotlinking


【解决方案1】:

这是我使用的存储桶策略,它可以正常工作。

{
"Version": "2008-10-17",
"Id": "http referer policy",
"Statement": [
    {
        "Sid": "Allow get requests referred by www.mysite.com and mysite.com",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::bucketname/*",
        "Condition": {
            "StringLike": {
                "aws:Referer": "http://www.mysite.com/*"
            }
        }
    }
]

}

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 2011-08-04
    • 1970-01-01
    • 2014-05-13
    • 2020-11-07
    • 2014-09-29
    • 1970-01-01
    • 2011-03-03
    • 2012-08-27
    相关资源
    最近更新 更多