Могу ли я использовать подписанные и неподписанные URL-адреса в одном и том же дистрибутиве Cloudfront?

Название более или менее говорит само за себя. Судя по тому факту, что в разделе «ограничить доступ зрителя» консоли управления Cloudfront (рисунок ниже) используются переключатели, похоже, что это ситуация «или-или».облачная консоль

ВОПРОС. Существуют ли другие способы анализа корзины S3 таким образом, чтобы в ней могло быть как общедоступное (т. е. доступное для просмотра всем), так и личное (т. е. подписанные URL-адреса) содержимое?


person tim peterson    schedule 19.09.2013    source источник


Ответы (1)


Я могу ответить на свой вопрос. Да, вы можете иметь подписанные и неподписанные URL-адреса в одном и том же дистрибутиве Cloudfront. В приведенном ниже примере мой дистрибутив называется blahblah.cloudfront.com. Ключ должен указать два «исходных сервера». Один для подписанных URL-адресов, а другой для неподписанных URL-адресов.

->AWS Management Console->Cloudfront->Distribution settings of selected Distribution

->Origins: create both origins (e.g., pointing to 2 different S3 buckets)

->Behaviors: create "path patterns" for each origin such that Cloudfront can 
distinguish which origin the Cloudfront url points to. E.g., in my S3 bucket named 
"tim-UNsigned-bucket" I set the path pattern to `uploads/*`.  For my signed url bucket, 
I gave it the more general path pattern of `*` and prioritized it 2nd.
As you can see below, this means that my unsigned url includes the path, uploads/, 
whereas my signed does not.

Результирующая структура URL-адреса Cloudfront:

  • Подписанные URL: https:// or http://blahblah.cloudfront.com/file1.jpg?Policy=asf...

  • Неподписанные URL: https:// or http://blahblah.cloudfront.com/uploads/file2.jpg

Примечание. Внесение любого из этих изменений может занять несколько минут (5–15 минут) для обновления Cloudfront. Поэтому постарайтесь сделать все изменения в моих направлениях с наименьшим количеством возможных ошибок, иначе это займет у вас вечность.

person tim peterson    schedule 20.09.2013
comment
Плохая новость заключается в том, что вам нужны два разных поведения. Кажется, нет хорошего способа потребовать подписанный URL-адрес через CloudFront для каждого ресурса. Это означает, что нет другого способа переключить ресурс между общедоступным и частным, кроме как физически переместить его. - person leiavoia; 11.09.2015