Можно ли использовать URL-адреса Amazon Cloudfront для подписывания вложений с помощью скрепки
Я использую скрепку для хранения вложений изображений на Amazon S3 и доставки их через Cloudfront. Я искал вокруг и не смог найти примеры его использования с подписанными URL-адресами для защиты контента. Интересно, знает ли кто-нибудь здесь, как это сделать?
Спасибо,
Леонард
1 ответ:
Немного поздно, но никогда не поздно для людей, ищущих ответ.
Загрузите ваши фотографии в S3, как вы обычно делаете, установите
s3_permissions
в private, чтобы они не имели публичного доступа через S3. Установитеs3_host_alias
таким образом, скрепка использует этот хост, когда запрашивает URL вложения,а затем просто подписывает этот URL.Вы можете использовать как подписанные URL-адреса, так и подписанные файлы cookie. Например, с камнем
cloudfront-signer
:has_attached_file :photo, s3_permissions: :private, s3_host_alias: "dcx01yp1dg1u1.cloudfront.net" # Now photo.url will point to dcx01yp1dg1u1.cloudfront.net instead of S3 Aws::CF::Signer.sign_url photo.url, expires: Time.now + 600
См https://github.com/leonelgalan/cloudfront-signer#usage дополнительные подробности. Отказ от ответственности, я являюсь текущим хранителем этого драгоценного камня.