cookie_limit_req_zone

Директива `cookie_limit_req_zone` определяет зону общей памяти для отслеживания и ограничения скорости доступа на основе значений cookie.

Синтаксисcookie_limit_req_zone key zone=name:size rate=rate [sync] redis=127.0.0.1 block_second=time cookie_max=number;
По умолчаниюnone
Контекстhttp
Аргументы6

Описание

Директива cookie_limit_req_zone является ключевой частью модуля ngx_cookie_limit_req_module, позволяя администраторам управлять скоростью запросов от клиентов на основе их cookie. Она настраивает зону общей памяти, в которой хранятся лимиты и состояния различных ключей, использующих значения cookie в качестве идентификаторов. Этот механизм позволяет серверу отслеживать чрезмерные запросы от отдельных cookie и противодействовать потенциальным злоупотреблениям со стороны вредоносных клиентов.

Синтаксис этой директивы включает параметр key, который указывает значение, используемое для ограничения (в данном случае — значения cookie), а также параметр zone для задания имени и размера общей памяти. Кроме того, она принимает ограничение скорости, выраженное в запросах в секунду, а также необязательные параметры для хранения в Redis, длительности блокировки при превышении лимита и максимального числа cookie, считающихся допустимыми. Например, директива позволяет задать, что если от одного cookie фиксируется более определённого числа чрезмерных запросов, последующие запросы будут задерживаться или отклоняться, обеспечивая защиту от подделки cookie со стороны злонамеренных IP.

Пример конфига

http {
    cookie_limit_req_zone $http_cookie zone=one:10m rate=10r/s redis=127.0.0.1 block_second=60 cookie_max=3;
}

Убедитесь, что указанный сервер Redis доступен и правильно настроен для параметра redis.

Неправильная настройка ключа может привести к тому, что запросы не будут отслеживаться корректно; проверьте, что ключ точно соответствует используемым значениям cookie.

Осторожно относитесь к размеру зоны разделяемой памяти: если она слишком мала, это вызовет частые удаления записей, что приведёт к ограничению пропускной способности или отбрасыванию запросов.

← Ко всем директивам