522
Критично — не откладывайте

Ошибка 522 — Интернет и веб

Что это значит

Код ошибки 522 (Connection Timed Out) возникает, когда веб-сервер (например, Nginx) успешно установил соединение с вышестоящим сервером (upstream), но не получил от него ответ в установленное время. Это означает, что запрос пользователя дошёл до сервера, но сервер не смог дождаться ответа от бэкенда (например, базы данных, PHP-FPM или другого сервиса). Пользователь видит сообщение «522 Connection Timed Out» или просто «Ошибка 522». Проблема обычно связана с перегрузкой бэкенда, медленными запросами или сетевыми задержками.

Вероятные причины

  • Бэкенд-сервер (PHP-FPM, Apache, Node.js) перегружен и не отвечает вовремя
  • Медленные запросы к базе данных (например, неоптимизированные SQL-запросы)
  • Недостаточные ресурсы сервера (CPU, RAM) для обработки запросов
  • Сетевые проблемы между веб-сервером и бэкендом (потеря пакетов, высокая задержка)
  • Тайм-аут в конфигурации веб-сервера (proxy_read_timeout, fastcgi_read_timeout) слишком мал
  • Блокировка процессов (deadlock) в бэкенде
  • Неисправность или отказ бэкенд-сервера
  • DDoS-атака или всплеск трафика

Что делать — по порядку

  1. Проверить логи веб-сервера (например, /var/log/nginx/error.log) на наличие ошибок upstream timed out
  2. Проверить логи бэкенд-сервера (например, /var/log/php-fpm/error.log) на медленные запросы или ошибки
  3. Увеличить тайм-ауты в конфигурации веб-сервера: proxy_read_timeout, fastcgi_read_timeout до 60–120 секунд
  4. Проверить нагрузку на сервер (CPU, RAM, I/O) с помощью top, htop, iostat
  5. Оптимизировать медленные запросы к базе данных (добавить индексы, переписать запросы)
  6. Перезапустить бэкенд-сервисы (PHP-FPM, Apache, Node.js) для снятия блокировок
  7. Проверить сетевую связность между веб-сервером и бэкендом (ping, traceroute)
  8. При необходимости увеличить количество рабочих процессов бэкенда (например, pm.max_children в PHP-FPM)

Нажимайте на пункты, чтобы отмечать выполненные.

Частые вопросы

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

Ошибка 522 означает, что сервер не дождался ответа от вышестоящего сервера (бэкенда) в течение заданного времени. Чаще всего это связано с перегрузкой бэкенда или медленными запросами.

Как исправить ошибку 522?

Проверьте логи сервера, увеличьте тайм-ауты в конфигурации веб-сервера, оптимизируйте запросы к базе данных и перезапустите бэкенд-сервисы.

Ошибка 522 на сайте — это проблема хостинга?

Да, обычно это проблема на стороне сервера. Обратитесь к хостинг-провайдеру или администратору сервера для диагностики.

Может ли ошибка 522 быть вызвана DDoS-атакой?

Да, всплеск трафика может перегрузить бэкенд и вызвать тайм-ауты. Проверьте статистику трафика и настройте защиту от DDoS.

Почему ошибка 522 появляется периодически?

Периодическое появление указывает на временные перегрузки или медленные запросы. Проверьте нагрузку в пиковые часы и оптимизируйте производительность.

Источники