Как разрешить содержимому корзины aws s3 только публично обслуживать определенный домен? - PullRequest
5 голосов
/ 16 февраля 2012

Я использую aws s3 для хранения фотографий и видео с моего сайта. Ссылки на файлы из s3 напрямую выводятся в html / php.

Проблема в том, что некоторые другие сайты связывали мою картинку / видео, что значительно увеличивало использование трафика s3 и, конечно, увеличивало счет оплаты.

Я знаю, что в некоторых случаях люди используют заголовок реферера, чтобы запретить ссылки на внешние сайты. Но в этом случае картинка / видео выходят напрямую из s3, а не из моего домена.

Может ли кто-нибудь помочь достичь этого? Спасибо.

1 Ответ

5 голосов
/ 15 октября 2014

Вы можете использовать политику корзины Amazon, например:

{
    "Version": "2012-10-17",
    "Id": "http referer policy example",
    "Statement": [
        {
            "Sid": "Allow get requests originated from www.example.com and example.com",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::examplebucket/*",
            "Condition": {
                "StringLike": {
                    "aws:Referer": [
                        "http://www.example.com/*",
                        "http://example.com/*"
                    ]
                }
            }
        }
    ]
}

, что подробно объясняется по адресу: http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...