HTTP 499 Client Closed Request в логах Nginx

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

499 — нестандартный код nginx: клиент закрыл соединение, не дождавшись ответа. Частая причина — медленный backend или таймаут клиента.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Проверка результата

#Что означает ошибка

499
499

499 — нестандартный код nginx: клиент закрыл соединение, не дождавшись ответа. Частая причина — медленный backend или таймаут клиента.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Таймаут клиентаСравните обстоятельства появления ошибки с указанным признаком и не меняйте настройки без подтверждения.Увеличьте.
Медленный backendСравните обстоятельства появления ошибки с указанным признаком и не меняйте настройки без подтверждения.Оптимизируйте.
Закрыл вкладкуСравните обстоятельства появления ошибки с указанным признаком и не меняйте настройки без подтверждения.Норма.
БалансировщикСравните обстоятельства появления ошибки с указанным признаком и не меняйте настройки без подтверждения.Согласуйте.

#Пошаговое решение

  1. Посмотрите время ответаАдминистратору Nginx: найдите в access.log запрос со статусом 499 (это внутренний код nginx, когда клиент разорвал соединение до ответа). Сверьте URL, время, request_time, upstream_response_time, если эти поля настроены, и IP клиента. Статус 499 не всегда означает проблему сервера: пользователь мог закрыть вкладку. Не начинайте с изменения часов или DNS посетителя.
  2. Оптимизируйте backendЕсли 499 повторяется именно для медленного обработчика, на сервере посмотрите время работы запроса и журнал приложения/PHP-FPM. Для PHP сопоставьте URL с медленными SQL-запросами и тайм-аутами; устраняйте выявленную задержку. После исправления повторите такой же запрос и проверьте время ответа, а не увеличивайте лимиты «наугад».
  3. Согласуйте таймаутыЕсли перед nginx стоит Cloudflare или другой прокси, сопоставьте допустимые тайм-ауты прокси, nginx и приложения. Делайте это лишь при доказанном обрыве через определённый интервал. Сохраните конфигурацию, используйте nginx -t перед любым применением правок и не путайте 499 с 504: в одном случае клиент закрыл соединение, в другом сервер не успел получить ответ от upstream.
  4. Проверьте журнал балансировщика и закрытие соединенияДля запросов через балансировщик сравните журналы балансировщика и nginx за один интервал, проверьте, не закрывает ли прокси неактивные соединения. Повторите тест на том же URL с клиентским журналом; если код 499 единичен и совпал с закрытием вкладки, исправление обычно не нужно.

#Проверка результата

Откройте тот же адрес, где возникало «HTTP 499 Client Closed Request в логах Nginx», в исходном браузере. Сравните с другим подключением и проверьте точный код ответа. Не используйте незащищённые обходы HTTPS как доказательство исправления.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.