Re: Регистр http-заголовков

Ruslan Ermilov ru на nginx.com
Вт Ноя 8 07:37:10 UTC 2011


On Mon, Nov 07, 2011 at 11:05:19PM +0400, Михаил Монашёв wrote:
> Здравствуйте.
> 
> Заметил, что прокси-сервера Оперы посылают весьма разные заголовки.
> Сейчас наснифил запрос с вот таким заголовком:
> x-forwarded-for: 195.189.142.176
> 
> Он делается при тестировании сайта через этот эмулятор: http://www.opera.com/developer/tools/mini/?ver=4
> 
> При работе через другие прокси Оперы выставляются вот такой заголовок:
> X-Forwarded-For: 86.62.113.23
> 
> Т.е. заголовок такой же, но написан в другом регистре.
> 
> Вопрос: как nginx обрабатывает одни и те же http-заголовке в запросах,
> но написанные в разных регистрах?

Из простого эксперимента

: server {
:     log_format test "$http_x_forwarded_for";
:     access_log test.log test;
: }

curl -H 'X-Forwarded-For: uppercase' -I localhost:8000
curl -H 'X-Forwarded-For: uppercase' -H 'x-forwarded-for: lowercase' -I localhost:8000
curl -H 'x-forwarded-for: lowercase' -I localhost:8000

видно, что nginx берёт первый найденный заголовок:

: $ tail -3 test.log 
: uppercase
: uppercase
: lowercase

Такое же значение достанется и модулю ngx_http_realip_module,
в случае директивы "real_ip_header X-Forwarded-For", если о
нём речь.



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