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

Fedor Dikarev fe на hamilton.rinet.ru
Ср Апр 17 19:42:37 UTC 2019


Привет!

Возникла задача 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, но выглядит немного странно. И вдруг можно 
получить результат сильно проще.
-- 
Fedor Dikarev


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