rate_limit_connect_timeout

Устанавливает таймаут ожидания ответа при подключении к Redis при использовании его для ограничения скорости.

Синтаксисrate_limit_connect_timeout timeout_value;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива rate_limit_connect_timeout в модуле ограничения скорости на основе Redis для NGINX задаёт максимальное время, в секундах, на установление соединения с сервером Redis, используемым для ограничения скорости. Это значение определяет, как долго NGINX будет пытаться подключиться к экземпляру Redis, когда запрос превышает настроенные лимиты. Правильно выбранный таймаут крайне важен, так как он гарантирует, что пользователи не будут испытывать чрезмерных задержек в ответе из‑за проблем с подключением к Redis. Если таймаут истечёт и соединение так и не будет установлено, NGINX вернёт ответ с ошибкой вместо продолжения ожидания.

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

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

rate_limit_connect_timeout 5;

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

Слишком низкое значение таймаута может привести к частым ошибкам соединения, если Redis не отвечает под нагрузкой.

Эту директиву следует использовать вместе с настройкой ограничения скорости на основе Redis; в противном случае она не будет иметь эффекта.

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