ПРОЕКТЫ 


  АРХИВ 


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: Выставлят ь connection close



On Fri, May 15, 2009 at 05:00:54AM +0400, Kirill A. Korinskiy wrote:

> Игорь, а может имеет смысл закрывать соединение, если человек пришел с
> keep-alive и без chunked, но у нас нет content_length?
> 
> Например так:
> 
> diff --git a/src/http/ngx_http_header_filter_module.c 
> b/src/http/ngx_http_header_filter_module.c
> index 332fceb..9fec3f3 100644
> --- a/src/http/ngx_http_header_filter_module.c
> +++ b/src/http/ngx_http_header_filter_module.c
> @@ -275,6 +275,10 @@ ngx_http_header_filter(ngx_http_request_t *r)
>          }
>      }
>  
> +    if (!r->chunked && r->keepalive && r->headers_out.content_length_n == 
> -1) {
> +        r->keepalive = 0;
> +    }
> +
>      clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
>  
>      if (r->headers_out.server == NULL) {

Это делается в

ngx_http_chunked_header_filter(ngx_http_request_t *r)
{
    ...

    if (r->headers_out.content_length_n == -1) {
        if (r->http_version < NGX_HTTP_VERSION_11) {
            r->keepalive = 0;

        } else {
            r->chunked = 1;
        }
    }


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



 




Copyright © Lexa Software, 1996-2009.