У меня есть куча документов уценки в Riak, которые я открываю через небольшой Sinatra API с базовыми функциями поиска и т. д.
С каждым документом связано изображение, которое также хранится в Riak (в другом сегменте). Я хотел бы, чтобы клиентское приложение отображало документы вместе с соответствующими изображениями, поэтому мне нужен какой-то способ сделать изображения доступными, но, поскольку я буду запрашивать их только по ключу, кажется расточительным обслуживать их через Приложение Sinatra, как я делаю с документами.
Однако мне неудобно обслуживать их напрямую из Riak, потому что а) даже используя nginx для ограничения допустимых запросов, я беспокоюсь о раскрытии большего количества функций, чем мы хотим, и б) Riak выдает 403 для любого запроса, где установлен реферер, поэтому по умолчанию использование прямого URL-адреса Riak в качестве src
тега img
не работает.
Итак, мой вопрос: какой хороший подход использовать для обслуживания изображений? Добавить еще одну конечную точку в приложение Sinatra? Напрямую от Riak, используя какое-то волшебство Nginx, которое в настоящее время мне недоступно? Или какой-то другой подход, который я еще не рассматривал? В идеале это будет использовать Ruby, так как команда, с которой я работаю, более удобна.
Не уверен, что этот вопрос лучше подходит для сбоя сервера - если да, я перенесу его.