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