Re: Fwd: патч для включения доп. заголовков на коды ошибок

Maxim Dounin mdounin на mdounin.ru
Сб Май 21 12:03:18 MSD 2011


Hello!

On Sat, May 21, 2011 at 12:24:11PM +0600, Илья Шипицин wrote:

> Добрый день!
> 
> еще раз предлагаю патч для заголовков.

Проблема по прежнему та же самая, но в этот раз для людей, 
пытающихся выставлять заголовки через add_header.

IMHO, в этом месте единственное безопасное решение - отдать 
контроль пользователю.

Maxim Dounin

> 
> ---------- Пересланное сообщение ----------
> От кого: Илья Шипицин <chipitsine at gmail.com>
> Дата: 13 мая 2011 г. 0:02
> Тема: Re: патч для включения доп. заголовков на коды ошибок
> Кому: nginx-ru at nginx.org
> 
> 
> извиняюсь за задержку ответа, руки не доходили. при изложенных
> обстоятельствах правка предлагается следующая "отдавать заголовки на коды
> ошибок, если это не заголовки expire":
> 
> --- src/http/modules/ngx_http_headers_filter_module.c.orig    2011-05-12
> 23:58:10.867870746 +0600
> +++ src/http/modules/ngx_http_headers_filter_module.c    2011-05-12
> 23:58:29.131868824 +0600
> @@ -141,18 +141,18 @@
> 
>      conf = ngx_http_get_module_loc_conf(r, ngx_http_headers_filter_module);
> 
> -    if ((conf->expires == NGX_HTTP_EXPIRES_OFF && conf->headers == NULL)
> -        || r != r->main
> -        || (r->headers_out.status != NGX_HTTP_OK
> -            && r->headers_out.status != NGX_HTTP_NO_CONTENT
> -            && r->headers_out.status != NGX_HTTP_MOVED_PERMANENTLY
> -            && r->headers_out.status != NGX_HTTP_MOVED_TEMPORARILY
> -            && r->headers_out.status != NGX_HTTP_NOT_MODIFIED))
> +    if ((conf->expires == NGX_HTTP_EXPIRES_OFF && conf->headers == NULL) ||
> r != r->main)
>      {
>          return ngx_http_next_header_filter(r);
>      }
> 
> -    if (conf->expires != NGX_HTTP_EXPIRES_OFF) {
> +    if (conf->expires != NGX_HTTP_EXPIRES_OFF &&
> +        (r->headers_out.status == NGX_HTTP_OK ||
> +         r->headers_out.status == NGX_HTTP_NO_CONTENT ||
> +         r->headers_out.status == NGX_HTTP_MOVED_PERMANENTLY ||
> +         r->headers_out.status == NGX_HTTP_MOVED_TEMPORARILY ||
> +         r->headers_out.status == NGX_HTTP_NOT_MODIFIED))
> +    {
>          if (ngx_http_set_expires(r, conf) != NGX_OK) {
>              return NGX_ERROR;
>          }
> 
> 
> 
> 19 апреля 2011 г. 10:39 пользователь Igor Sysoev <igor at sysoev.ru> написал:
> 
> On Tue, Apr 19, 2011 at 09:03:32AM +0600, Илья Шипицин wrote:
> > > expires max;
> > >
> > > по логике отвечает за контент, размещенный непосредственно на nginx,
> > > например, редко меняющуюся статику. статика размещенная на nginx на может
> > > давать 500-е ошибки.
> >
> > Может. Например, когда заканчиваются файлы, сокеты и тому подобное.
> >
> >
> > --
> > Igor Sysoev
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://nginx.org/mailman/listinfo/nginx-ru
> >

> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru




Подробная информация о списке рассылки nginx-ru