2014-11-07 3 views
6

У нас есть необходимость использовать Tornado для работы с большими файлами (несколько ГБ), для которых требуется аутентификация. Из того, что мы можем сказать, делать это с помощью get и чередовать файлы через Task будет потенциально медленным или блокировать. Есть ли рекомендуемый метод для обслуживания больших файлов, требующих проверки подлинности?Использование торнадо для подачи больших файлов

ответ

4

Я думаю, this - лучшее решение. Обратите внимание, что это комбинация торнадо и nginx.

+0

Эта ссылка, похоже, покрывает ее, спасибо! – daniel

+2

@HarshalPatil Основная идея - использовать nginx для загрузки файла против торнадо. Короче говоря, предположим, что у вас есть защищенные файлы в защищенной (внутренней) папке, доступной через nginx. Затем вам понадобятся два обработчика торнадо: (1) тот, который вызывается, когда пользователь нажимает ссылку для загрузки, выполняет ли проверка пользователя, устанавливает защищенный куки-файл и перенаправляет второй обработчик и (2) простой обработчик, который перенаправляет с «X-Accel-Redirect», поэтому nginx знает, что нужно отправить файл. Надеюсь это поможет. –

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