limit_conn_status
Директива `limit_conn_status` задаёт код состояния HTTP, возвращаемый при превышении лимита подключений. — NGINX HTTP Core
Описание
Директива `limit_conn_status` в NGINX задаёт код состояния HTTP, который будет возвращён клиентам, если их запрос превысит настроенные ограничения на количество подключений для данного контекста (http, server, or location). Эта директива позволяет администраторам настроить поведение ответа, обеспечивая более информативный интерфейс для пользователей, которые могут непреднамеренно попытаться установить больше подключений, чем разрешено конфигурацией NGINX. Когда нарушается лимит, заданный с помощью `limit_conn`, вместо возврата стандартного ответа 503 (Сервис недоступен), который может не дать пользователям понятной информации, может быть возвращён указанный код состояния. Это повышает ясность и помогает в процессе обработки ошибок для клиентских приложений. Код состояния должен быть допустимым HTTP-кодом, и, как правило, разумно избегать распространённых кодов успеха или перенаправления, чтобы не вводить в заблуждение. Для эффективного использования этой директивы рекомендуется оценить ожидаемое поведение клиентских приложений при превышении лимитов, поскольку код состояния, отличный от 503, может изменить то, как клиенты реагируют на проблемы с пропускной способностью. Например, код 429 (Слишком много запросов) может быть уместен, указывая, что пользователя ограничивают за чрезмерный доступ к ресурсам. Эта директива также может сочетаться с логами, адаптированными для мониторинга нарушений ограничений подключений.
Пример конфига
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;
limit_conn_status 429;
}Убедитесь, что код состояния является допустимым HTTP-кодом ответа, чтобы избежать непредвиденного поведения.
Использование директивы в неправильном контексте может привести к ошибкам конфигурации.