ПРОЕКТЫ 


  АРХИВ 


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: proxy Headers



On Wed, 28 Jun 2006, Igor Sysoev wrote:

On Wed, 28 Jun 2006 sjsoft@xxxxxxxxxx wrote:

Расскажите пожалуйста, какие Headers(HTTP/1.0/1) пропускает nginx до проксируемого
backend'a ? Можно ли как либо обрезать все лишнии заголовки или как то
отметить, что нужно пропустить а что нет. Можно ли отказывать клиенту
в случае слишком длинного заголовка или неправильного еще на уровне nginx?
Дело в том, что backend писан самолично, и большие куски запросов он анализирует медлено, и я
не уверен, что он всегда правильно будет их понимать и будет адекватно
себя вести.

nginx передаёт все заголовки. Host и Connection обычно меняются.
Запретить конкретный заголовок можно так:

proxy_set_header  Name  "";

Кроме того, можно запретить передачу всех заголовков и оставить только
выбранные:

proxy_pass_headers  off;

Я ошибся:
proxy_pass_request_headers  off;

proxy_set_header    User-Agent    $http_user_agent;
proxy_set_header    Referer       $http_referer;
proxy_set_header    ...

Длина клиентских заголовков ограничена директивами
client_header_buffer_size и large_client_header_buffers:

http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#client_header_buffer_size
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#large_client_header_buffers

Неправильные заголовки не будут передаваться бэкенду, если указано
ignore_invalid_headers  on

По умолчанию, такие заголовки передаются.


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



 




Copyright © Lexa Software, 1996-2009.