Maxim Dounin
September 28, 2016 10:16AM
Hello!

On Wed, Sep 28, 2016 at 09:32:36AM -0400, rba wrote:

> Здравствуйте, помогите разобраться как корректно закрыть соединения с
> бэкендом в апстриме оставив живое соединения с клиентом(keep alive).
>
> Если делаю просто что-то типа ngx_http_finalize_request(r, NGX_HTTP_CREATED)
> то соединение с клиентом остается открыто, но
> - не обрабатывает новые запросы,
> - не вызывается upstream->finalize_request,
> - спустя некоторое время начинает дёргать upstream read/write heandler.
>
> Если еще добавить ngx_http_finalize_request(r, NGX_OK)
> - с клиентом разрывается, хотя я его не освобождал
> - происходит вызов upstream->finalize_request
>
> При ngx_free_connection на соединения апстрима вообще ад начинается...

Если вы пишете модуль работы с upstream-серверами для своего
протокола, то вы не должны звать ни ngx_http_finalize_request(),
ни тем более ngx_free_connection() сами. Ваша задача сводится к
тому, чтобы правильно сформировать запрос, и распарсить ответ.

Посмотрите на src/http/modules/ngx_http_memcached_module.c, там
достаточно простой пример реализации модуля работы с конкретным
протоколом.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Upstream force to close+client keep alive (API Си)

rba September 28, 2016 09:32AM

Re: Upstream force to close+client keep alive (API Си)

Maxim Dounin September 28, 2016 10:16AM

Re: Upstream force to close+client keep alive (API Си)

rba September 30, 2016 02:53AM

Re: Upstream force to close+client keep alive (API Си)

Maxim Dounin September 30, 2016 10:40AM

Re: Upstream force to close+client keep alive (API Си)

rba October 04, 2016 03:49AM

Re: Upstream force to close+client keep alive (API Си)

Maxim Dounin October 04, 2016 08:46AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 163
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready