0

Я загружаю изображения через CarrierWave в моем приложении Rails 4, в ковш AWS S3. У меня также есть настройка Cloudfront, которая в настоящее время обслуживает все мои активы statis (Excl. Public uploads).Загрузка изображений, загруженных на S3 через CloudFront

Как загружать изображения через Cloudfront вместо S3, даже если они хранятся в ведомости S3? Я нашел tutorials вот так, но так как у меня уже есть дистрибутив CloudFront, мне было интересно, добавить ли я еще один для моих общих загрузок изображений или есть способ добавить его в мой текущий дистрибутив.

ответ

1

Вы можете добавить ведро в качестве дополнительного пользовательского происхождения в существующий дистрибутив Cloudfront.

Затем вы можете использовать шаблоны путей, чтобы определить, какие префиксы (например, /images/uploads/*) должны направляться к альтернативному источнику.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern

С созданием дистрибутивов не стоит ничего, кроме несколько минут вашего времени, пока вы ждете распределений, чтобы стать доступными во всем мире, я бы предложил создать новый дистрибутив для экспериментов, прежде чем добавить это к вашему распределение продукции ... но это определенно выполнимо.

+0

Спасибо @Michael. Это решение было непросто реализовать. Но по какой-то причине, когда я загружаю свое приложение, Images in/uploads/* по-прежнему маршрутизируется с S3, а не с облачного (по исходному коду страницы). Я дал ему довольно много времени и убедился, что обновление завершено. – Herm

+0

@ Похоже, что проблема, связанная с конфигурацией вашего приложения ... или старыми копиями ваших страниц со старыми ссылками, все еще обслуживается из кэша Cloudfront. –

+0

Возможно, это может быть связано с моей ведровой политикой? Есть ли что-то, что мне нужно изменить в моей Политике? – Herm

Смежные вопросы