при специфично сформированном заголовке, nginx тормозит и рушит http демон на perl
Igor Sysoev
is at rambler-co.ru
Wed Jul 2 12:11:22 MSD 2008
On Wed, Jul 02, 2008 at 11:39:21AM +0400, nobody wrote:
> У меня очередная проблемма с задержкой ответа от сервера, теперь еще
> и демон, на который 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
Возможно, дело в сочетании
Content-Length: 0
Content-Type: multipart/form-data
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list