nginx upload module + subrequest

Roman Vasilyev roman.vasilyev на yousendit.com
Ср Июл 6 15:58:31 UTC 2011


Доброго времени суток,

В продолжении темы upload module.
Столкнулся со следующей проблемой:
работаю с модулем подзапроса который мне выдает некую переменную.
Которая в дальнейшем используется при разборе файла.

кусок моего конфиг файла:
location ~ /uwsgi/(.*).py {
root /usr/share/nginx/www/uwsgi;

set $app $1;

uwsgi_pass 127.0.0.1:9001;
include uwsgi_params;
uwsgi_pass_request_headers off;

uwsgi_param SCRIPT_NAME $app;
uwsgi_param UWSGI_MODULE $app;
uwsgi_param UWSGI_CALLABLE "${app}_handler";
uwsgi_param UWSGI_PYHOME $document_root;
uwsgi_param UWSGI_CHDIR $document_root;
uwsgi_modifier1 30;
}


location /test {
default_type text/plain;

proxy_pass http://127.0.0.1/uwsgi/auth.py?$args;
proxy_buffering off;
proxy_method GET;
proxy_pass_request_headers off;
proxy_pass_request_body off;
}

location /upload {

subrequest_set $file_limit /test?$args;

upload_pass /uwsgi/upload.py;
upload_store /silo/0374-e5500/uploads;
upload_state_store /silo/0374-e5500/uploads/states;

upload_set_form_field $upload_field_name.name $upload_file_name;
upload_set_form_field $upload_field_name.content_type $upload_content_type;
upload_set_form_field $upload_field_name.path $upload_tmp_path;
upload_aggregate_form_field $upload_field_name.size $upload_file_size;
upload_set_form_field USNI $file_limit;
}
Через curl все работает нормально с файлами любого размера.
Если слать файл через браузер, то маленькие файлы(меньше килобайта) 
проходят, чуть больше - cервер просто не отвечает.

Прилагаю два лога, один успешной заливки маленького файла, другой 10 
килобайт, который так и не привел к успешному завершению.

P.S.: если отключить модуль подзапроса все работает, отключить upload 
module тоже все работает. Попробовал подменять свой subrequest на eval - 
тот же резутьтат.
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: error.log.bad.bz2
Type: application/octet-stream
Size: 6593 bytes
Desc: отсутствует
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110706/5dc689ca/attachment.obj>
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: error.log.good.bz2
Type: application/octet-stream
Size: 8643 bytes
Desc: отсутствует
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110706/5dc689ca/attachment-0001.obj>


Подробная информация о списке рассылки nginx-ru