при специфично сформированном заголовке, nginx тормозит и рушит http демон на perl

nobody crazy.format at gmail.com
Wed Jul 2 11:39:21 MSD 2008


Добрый день.
У меня очередная проблемма с задержкой ответа от сервера, теперь еще
и демон, на который nginx проксирует запросы потихому падает.
Суть проблеммы такая:
Есть скрипт, который обращается к некому адресу и в POST вливает
некоторые данные. По адресу, к которому подключается скрипт, находится
nginx, который проксирует запросы далее на perl http демон.
Если в скрипте, который обращает, не правильно сформировать заголовки,
то демон падает, а nginx отдает 504 ошибку.
При детальном просмотре логов nginx'а и дебаге скриптов выяснилось что
запрос приходит на nginx, nginx делает попытку подключится к демону (и
видимо подключается судя по tcpdump'у) и после этого залипает.
Я повставлял print'ов в файл модуля perl http демона, и судя по этим
принтам, само подключение на сокет происходит в тот момент когда nginx
уже спешит отдать 504, а демон, использующий модуль умереть.
Короче темный лес.. непонятно, толи это бага в реализации сокетов на
перле, толи nginx по хитрому себя ведет в этой ситуации..

Вобщем прошу вашей помощи :)

Логи nginx'а и tcpdump'а в атачах.

Вот таким образом происходит обращение из скрипта - это то что я
называю "неправильно сформированным заголовком":

my $client = LWP::UserAgent->new;
$res = $client->post("https://tcmf-test.yandex.net/test",
        'Content_Type' => 'multipart/form-data',
                        {'__data'       => $json_req});


Модуль http сервера это HTTP::Server::Simple

Заранее спасибо.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: error.log
Type: application/octet-stream
Size: 12704 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080702/5f401f73/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tcpdump.log
Type: application/octet-stream
Size: 736 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080702/5f401f73/attachment-0001.obj>


More information about the nginx-ru mailing list