Как nginx закрывает коннект с бэкэндом?

Igor Sysoev is at rambler-co.ru
Tue Mar 28 18:26:04 MSD 2006


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

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

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


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





More information about the nginx-ru mailing list