Ограничение числа запросов с определенных IP за промежуток времени
Антон Исайкин
isaykin at gmail.com
Sun Mar 29 14:49:42 MSD 2009
Доброго дня.
Есть задача: ограничить доступ к определенным url по количеству
обращений за плавающий час. Так же необходимо иметь лист белых IP для
которых ограничение так же присутствует, но оно несоизмеримо больше.
Т.е. например условие: для любого IP разрешить не более 100 обращений
по ряду url за час, для IP из белого списка -- 1000 обращений.
Час должен быть именно плавающий, т.е. не с 14:00 до 15:00 100
запросов, а с первого запроса в течение последнего часа (текущее время
минус 3600 секунд).
Подскажите, решается ли эта задача средствами nginx?
Была идея писать лог запросов в tmpfs и парсить его с какой-то
периодичностью, складывая ключи с ответами в мемкеш. Их же проверять
уже на стороне приложения. Но хочется чего-то более нативного.
Спасибо.
--
Антон Исайкин
More information about the nginx-ru
mailing list