nginx-0.6.30

Denis F. Latypoff denis at gostats.ru
Tue Apr 29 20:00:05 MSD 2008


Hello Mihal,

Tuesday, April 29, 2008, 9:35:56 PM, you wrote:

> Denis F. Latypoff wrote:
>> 
>> Я извиняюсь за настойчивость, но для меня проблема актуальна, вот её описание:
>> http://www.lexa.ru/nginx-ru/msg17278.html, если честно, то я ожидал фикса в
>> 0.6.30 :)

> ------snip------
>>   Неожиданно заметил, что если апстрим отвечает с контентом, то заголовок P3P
>>   передается клиенту. Если апстрим отвечает без контента, но с заголовком
>>   X-Accel-Redirect, то nginx не пропускает клиенту заголовок P3P.
>> 
> ------snip------

> Дело в том, что X-Accel-Redirect обрабатывает только фиксированное
> множество заголовков, а остальные удаляет. Меня эта проблема тоже задевает:
> http://www.lexa.ru/nginx-ru/msg16840.html

IMHO, достаточно для значений директив proxy_pass_header и fastcgi_pass_header
нужно выставить redirect = 1:

ngx_http_upstream.h:156:

typedef struct {
    ngx_str_t                       name;
    ngx_http_header_handler_pt      handler;
    ngx_uint_t                      offset;
    ngx_http_header_handler_pt      copy_handler;
    ngx_uint_t                      conf;
    ngx_uint_t                      redirect;  /* unsigned   redirect:1; */
} ngx_http_upstream_header_t;


при парсинге конфига, и тогда


ngx_http_upstream.c:1272:

            hh = ngx_hash_find(&umcf->headers_in_hash, h[i].hash,
                               h[i].lowcase_key, h[i].key.len);

            if (hh && hh->redirect) {
                /*
                 * вот здесь значения директив proxy_pass_header и
                 * fastcgi_pass_header скопируются клиенту
                 */
                if (hh->copy_handler(r, &h[i], hh->conf) != NGX_OK) {
                    ngx_http_finalize_request(r,
                                              NGX_HTTP_INTERNAL_SERVER_ERROR);
                    return;
                }
            }

только я не знаю, где выставить redirect = 1.

-- 
Best regards,
 Denis                            mailto:denis at gostats.ru






More information about the nginx-ru mailing list