Welcome! Log In Create A New Profile

Advanced

Re: обработка set_real_ip_from для 400-х статусов

Maxim Dounin
July 29, 2019 09:22AM
Hello!

On Fri, Jul 26, 2019 at 10:56:35AM +0300, Иван Мишин wrote:

> Столкнулся с такой же проблемой. Есть какое-то объяснение этому?

[...]

> > curl --header "X-Real-IP: 8.9.10.11" -vvvv -I -k http://localhost/test
> > curl --header "X-Real-IP: 8.9.10.11" -vvvv -I -k http://localhost/%%%%%
> >
> > получаю
> >
> > # cat /var/log/nginx/access.log
> > 8.9.10.11 8.9.10.11 200 /test
> > 127.0.0.1 - 400
> >
> >
> > почему магия с форматом лога и хедерами работает на 200-х статусах и не
> > работает на 400-х ? это такая задумка ? выглядит как баг.

Запрос к "/%%%%%" распарсить невозможно, так как сочетание "%%"
недопустимо по стандартну HTTP. Соответственно ошибка возникает
уже на этапе парсинга request line, и ни о какой обработке такого
запроса речи не идёт. Соответственно не будет работать и
realip-модуль.

Более того - в данном конкретном случае, так как ошибка возникает
на этапе парсинга request line, то в тех ошмётках запроса, которые
nginx успел распарсить - заголовка X-Real-IP не будет. То есть
в данном случае даже если бы модуль realip что-то попытался
сделать с запросом - у него ничего бы не получилось. А равно
ничего не получится увидеть при логгировании $http_x_real_ip.

Отдельно отмечу, что с точки зрения логики работы - текущее
поведение выглядит как наиболее правильное. Если с IP-адреса
приходит невалидный HTTP-запрос, то даже если этот адрес вдруг
значится в set_real_ip_from - логгировать надо именно адрес, с
которого нам прислали этот невалидный запрос, потому как
разбираться надо именно с тем софтом, что на этом адресе стоит и
невалидный запрос сформировал.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

обработка set_real_ip_from для 400-х статусов

Илья Шипицин June 14, 2019 01:14PM

Re: обработка set_real_ip_from для 400-х статусов

Иван Мишин July 26, 2019 03:58AM

Re: обработка set_real_ip_from для 400-х статусов

Maxim Dounin July 29, 2019 09:22AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 109
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready