Как прокси файлы с сервера firewalled через приложение rails - PullRequest
0 голосов
/ 03 февраля 2011

У меня есть приложение rails, работающее на Nginx, которое должно обслуживать файлы для загрузки с другого внутреннего сервера.Внутренний сервер использует динамический URL для генерации файла для загрузки, поэтому он не является статическим файлом в папке.И сервер rails, и сервер с файлами находятся в одной локальной сети, но только сервер rails открыт для общего доступа через порт 80.

Кроме того, файлы, которые я хочу обслуживать, находятся в диапазоне от 5 до 200 ГБ.поэтому я не хочу связывать процесс рельсов для всей загрузки, если это возможно.Есть ли способ сделать это с помощью Net :: HTTP + send_data?Или, может быть, какое-то правило прокси-сервера Nginx?

Из локальной сети вы можете скачать файл с таким URL-адресом:

http://username:password@192.168.0.5/export?uuid=1234567890

Проблема в том, что 1) нет контроля доступа дляэтот URL, с помощью пользователя / pass вы можете скачать любой файл, который хотите, передав его параметр uuid и 2) сервер доступен только по локальной сети.

1 Ответ

0 голосов
/ 04 февраля 2011

Я разобрался с ответом на этот вопрос, следуя инструкции здесь: http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/

Чтобы обработать базовую аутентификацию HTTP, вам нужно добавить эту строку в конфигурацию nginx:

proxy_set_header Authorization "Basic BASE64_USER_PASS";

Где BASE64_USER_PASS - это строка base64 вашего имени пользователя и пароля в формате «пользователь: пароль»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...