proxy Headers

Igor Sysoev is at rambler-co.ru
Wed Jun 28 08:57:38 MSD 2006


On Wed, 28 Jun 2006 sjsoft at newmail.ru wrote:

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

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

proxy_set_header  Name  "";

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

proxy_pass_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





More information about the nginx-ru mailing list