Раз уж зашел разговор о realip.... Максим, а возможно ли указать 2 заголовка realip_header ?
2017-06-19 14:15 GMT+02:00 Maxim Dounin <[email protected]>: > 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 > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru >
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
