dynamic_limit_req_redis

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

Синтаксисdynamic_limit_req_redis unix_socket | port=[number] requirepass=[password];
По умолчаниюport 6379
Контекстhttp
Аргументы1-3

Описание

Директива dynamic_limit_req_redis является частью ngx_dynamic_limit_req_module, который динамически блокирует IP-адреса и периодически снимает блокировки в зависимости от интенсивности запросов. Эта директива позволяет задать параметры подключения к Redis, популярному хранилищу структур данных в памяти, которое модуль использует для управления состоянием при превышении лимитов запросов.

Она принимает до трёх аргументов: unix_socket, port=[number] и requirepass=[password]. unix_socket предоставляет способ подключения к серверу Redis через Unix-сокет, тогда как параметр port указывает номер порта для TCP-подключений к Redis, по умолчанию 6379. Если Redis настроен на требование аутентификации, можно использовать опцию requirepass для указания необходимого пароля. Такая гибкость позволяет работать в разных сценариях развёртывания, включая случаи, когда Redis защищён аутентификацией или требуются разные методы подключения.

Подключение к Redis играет ключевую роль в поддержании состояния запросов, обеспечивая эффективное ограничение скорости за счёт доступа к общим данным между несколькими рабочими процессами NGINX. Неправильная конфигурация этой директивы может привести к проблемам, таким как невозможность связи с Redis, что помешает работе механизма динамического ограничения запросов.

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

dynamic_limit_req_redis unix_socket requirepass=comeback;
dynamic_limit_req_zone $binary_remote_addr zone=sms:5m rate=5r/m redis=/tmp/redis.sock block_second=1800;
dynamic_limit_req zone=sms burst=3 nodelay;

Убедитесь, что сервер Redis запущен и доступен для NGINX.

Проверьте права доступа к Unix socket, если используется подключение unix_socket.

Пароль аутентификации Redis должен быть корректным, чтобы избежать сбоев соединения.

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