Как nginx закрывает коннект с бэкэндом?
AleXXX V. NovikoFF
alexxx at alexxx.ru
Tue Mar 28 18:02:53 MSD 2006
Tue, 28 Mar 2006 17:20:49 +0400 (MSD)
Igor Sysoev <is at rambler-co.ru> писал(а):
> On Tue, 28 Mar 2006, AleXXX V. NovikoFF wrote:
>
> > Mon, 27 Mar 2006 23:41:56 +0500
> > "AleXXX V. NovikoFF" <alexxx at alexxx.ru> писал(а):
> >
> >> Добрый день!
> >>
> >> Возникла проблема, на бэкэнде есть скрипт выполняющийся с опцией
> >> ignore_user_abort = true;
> >> когда он просто болтался на апаче, он работал до конца, даже если юзер
> >> нажимал в броузере "Стоп" ну или просто связь рвалась, или таймаут
> >> наступал...
> >> Тот же скрипт висит на бэкэнде через nginx - он перестал выполняться до
> >> конца, при одном из условий он просто прибивается... :(
> >>
> >> Как бы такого избежать?
> >>
> >> Скрипт ничего не выводит, просто через какое-то время делает HTTP/1.0
> >> 302 Moved и Location.
> >> Пробовал выводить что-то - тоже самое.
> >> Вот так прицеплен к нему прокси:
> >>
> >> location ^~ /script/ {
> >> proxy_pass http://127.0.0.1;
> >>
> >> proxy_connect_timeout 300;
> >> proxy_send_timeout 300;
> >> proxy_read_timeout 300;
> >>
> >> proxy_buffer_size 1k;
> >> proxy_buffers 4 32k;
> >> proxy_temp_file_write_size 256k;
> >>
> >> proxy_set_header Host $host;
> >> proxy_set_header X-Real-IP $remote_addr;
> >> }
> >>
> >>
> >> Может я чего-то не так делаю?
> >>
> >
> > и тишина, и мертвые с косами.... :-)
>
> Если клиент закрыл соединение, то nginx тоже закрывает соединение с бэкендом.
> Это легко сделать настраиваемым, нужно только придумать название директиве
>
> proxy_ignore_client_abort on|off ?
>
вполне бы подошло....но все же сомнение.... т.е. при потере связи с
клиентом nginx закрывает соединение с бэкэндом нормальным способом, что
тот думает, что соединение завершилось нормально, так чтоли?
--
AleXXX V. NovikoFF <alexxx at alexxx.ru>
More information about the nginx-ru
mailing list