Re: Получить ключ limit_rate в логе rate_limit-а

Илья Шипицин chipitsine на gmail.com
Чт Апр 18 11:59:10 UTC 2019


при такой маршрутизации запросов возможно потребуется включить *log*_
*subrequest*

чт, 18 апр. 2019 г. в 16:53, Fedor Dikarev <fe на hamilton.rinet.ru>:

> 18.04.2019 11:16, Oleg A. Mamontov пишет:
> > On Wed, Apr 17, 2019 at 10:42:37PM +0300, Fedor Dikarev wrote:
> >> Привет!
> >>
> >> Возникла задача rate_limit-итить обращения к api при помощи Nginx-а и
> >> таким образом защититься от DDOS-а.
> >> Авторизация к api идет через jwt, в ключе есть логин пользователя.
> >> Поэтому я уже заказал demo nginx plus, планирую воспользоваться
> >> функционалом jwt и rate limit-ить по логину, примерно так:
> >>> auth_jwt_claim_set $login info login;
> >>> limit_req_zone $login zone=one:10m rate=1r/s;
> >>
> >> а дальше хочется получить список нехороших логинов, через которые нас
> >> пытаются досить.
> >> Прочитал доку https://www.nginx.com/blog/rate-limiting-nginx/ -- там
> >> написано что я получу адрес клиента, request и хостнейм в слуяае
> >> превышения лимита. И это здорово.
> >> А можно как-то получить значение ключа (в моем случае это логин
> >> пользователя), который привысил rate limit?
> >>
> >> Пока есть гипотеза логгировать логин в access.log и потом
> >> коррелировать access.log и error.log, но выглядит немного странно. И
> >> вдруг можно получить результат сильно проще.
> >
> > Перехватить 503 с помощью error_page и обработать в специальном location
> > с кастомизированным log_format ?
>
> Привет, Олег!
>
> Спасибо за совет: да, все просто и логично, я почему-то не подумал в эту
> сторону. Сегодня-завтра попробуем поднять этот вариант на QA,
> понагружаем немного и отпишусь о результатах.
> --
> Fedor Dikarev
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20190418/c9323bb8/attachment.html>


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