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