Maxim Dounin
June 19, 2017 08:16AM
Hello!

On Sun, Jun 18, 2017 at 07:31:05AM +0300, Иван wrote:

> Здравствуйте!
>
> В конструкции
>
> location /login/
> set_real_ip_from proxy_IP;
> if ($block_agent) {
> return 403;
> }
> }
>
> Всё, что попадает в блок if ($block_agent == 1), в логи пишется с $remote_addr
> проксирующего сервера (proxy_IP), то есть set_real_ip_from не отрабатывает.
> set_real_ip_from поместить в блок include nginx не дает. Пока что решил
> проблему меняя формат логов для в блоке if, но что это, баг\фича? И можно ли
> исправить?

Это фича. Если директива set_real_ip_from задана на уровне
location, то замена адреса происходит после выбора конфигурации, в
котором будет обрабатываться запрос, перед работой модулей контроля
доступа. А в конфигурации выше - ошибка возвращается с помощью
директив модуля rewrite, на этапе "выбора конфигурации по
условию" (см. http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html).
В результате ошибка 403 случается до того, как адрес клиента
заменён модулем realip, и в логи попадает исходный ip.

Чтобы подобных сюрпризов не было - правильнее всего задать
set_real_ip_from на уровне server, тогда замена ip-адреса клиента
будет происходить сразу после чтения запроса.

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

Не срабатывает realip в блоке if

Иван June 18, 2017 12:32AM

Re: Не срабатывает realip в блоке if

Maxim Dounin June 19, 2017 08:16AM

Re: Не срабатывает realip в блоке if

Alexander Moskalenko June 19, 2017 10:02AM

Re: Не срабатывает realip в блоке if

Evgeniy Berdnikov June 19, 2017 10:06AM

Re: Не срабатывает realip в блоке if

Alexander Moskalenko June 19, 2017 10:28AM

Re: Не срабатывает realip в блоке if

Evgeniy Berdnikov June 19, 2017 11:02AM

Re: Не срабатывает realip в блоке if

Alexander Moskalenko June 19, 2017 11:18AM

Re: Не срабатывает realip в блоке if

Maxim Dounin June 19, 2017 11:44AM

Re: Не срабатывает realip в блоке if

Alexander Moskalenko June 19, 2017 11:50AM

Re: Не срабатывает realip в блоке if

Evgeniy Berdnikov June 19, 2017 11:52AM

Re: Не срабатывает realip в блоке if

Alexander Moskalenko June 19, 2017 12:14PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 341
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 466 on July 09, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready