Чтобы избежать горячих ссылок, потери пропускной способности S3 и т. д., я хотел бы сделать свою корзину приватной и обслуживать файлы через приложение Rails. Концепция в целом звучит очень просто, но я не совсем уверен, какой подход будет лучшим в данной ситуации.
Я использую скрепку для общего управления активами. Есть ли какой-либо встроенный способ для достижения этого типа прокси?
В общем, я могу легко разобрать URL-адреса из скрепки и указать их обратно на свой собственный контроллер. Что должно произойти с этого момента? Должен ли я просто использовать Net::HTTP для загрузки изображения, а затем передавать его с помощью send_data? Между ними я хочу зарегистрировать реферер и установить правильные заголовки Control-Cache, так как у меня есть обратный прокси-сервер перед приложением. Подходит ли Net::HTTP + send_data в этом случае?
Может быть, целые идеи действительно плохи по каким-то причинам, о которых я в данный момент не знаю? В общем, я считаю, что использование прямых ссылок S3 на общедоступную корзину опасно и приводит к серьезным проблемам в случае пиявки / горячей ссылки...
Обновлять:
Если у вас есть какие-либо другие идеи, которые могут уменьшить расходы на S3 и в любом случае предотвратить хотлинкинг, пожалуйста, поделитесь ими, даже если они не имеют прямого отношения к Rails.