ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: Как nginx закрывает коннект с бэкэн дом?



On Tue, 28 Mar 2006, AleXXX V. NovikoFF wrote:

Tue, 28 Mar 2006 17:20:49 +0400 (MSD)
Igor Sysoev <is@xxxxxxxxxxxxx> писал(а):

On Tue, 28 Mar 2006, AleXXX V. NovikoFF wrote:

Mon, 27 Mar 2006 23:41:56 +0500
"AleXXX V. NovikoFF" <alexxx@xxxxxxxxx> писал(а):

Добрый день!

Возникла проблема, на бэкэнде есть скрипт выполняющийся с опцией
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 закрывает соединение с бэкэндом нормальным способом, что
тот думает, что соединение завершилось нормально, так чтоли?

Да, nginx просто закрывает соединение.


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.