контролируемый upload

Gena Makhomed gmm at csdoc.com
Thu May 29 23:37:35 MSD 2008


On Thursday, May 29, 2008 at 12:44:12, Garanin Michael wrote:

GM> Хочу реализовать такую схему "контролируемого upload'а":
GM> nginx (host1) принимает upload-запрос от юзера (файл 10M)
GM> и пробрасывает  его на app-сервер (host2) которому файл этот
GM> вообще ненужен, но он по определённому правилу определяет
GM> на какой сервер обработки файлов (host3) послать файл дальше,
GM> путём записи в X-Accel-redirect соответствующего location.

GM> Объясните пожалуйста, у меня файл(10M) будет "скакать"
GM> по какому пути "host1->host2->host1->host3"
GM> или всё же по "host1->host3" ?

GM> А может есть более оптимальная схема?

более оптимальная схема: пересылать $request_body (файл 10М)
между серверами не два-три раза, а один раз: frontend => backend.

например, nginx на host1 принимает файл и сохраняет его на диске,
там же находится обработчик http запроса в виде fastcgi или mod_perl.

дальше обработчик делает запрос к host2 и на основании полученного
от него ответа пересылает файл на один из backend`ов обработки файлов.

http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#client_body_in_file_only

-- 
Best regards,
 Gena






More information about the nginx-ru mailing list