Другое 504Высокая

504 Gateway Timeout – как быстро исправить ошибку сервера

Ошибка 504 Gateway Timeout означает, что сервер не ответил в отведённое время. В статье описаны причины возникновения и четыре рабочих способа устранения проблемы для веб‑мастеров и обычных пользователей.

Обновлено 17 июля 2026 г.
5-10 мин
Средняя
FixPedia Team
Применимо к:Apache HTTP Server 2.4.xNginx 1.18+Windows Server 2016-2022Ubuntu 20.04/22.04

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

Ошибка 504 Gateway Timeout появляется, когда веб‑сервер получил запрос от пользователя, но не получил ответ от upstream‑сервера (бэкенда) в течение установленного интервала времени. В результате браузер показывает страницу с сообщением «504 Gateway Timeout». Это не означает, что ваш компьютер сломался – проблема находится на стороне сервера или сети.

Причины возникновения

  • Перегрузка веб‑сервера – большое количество одновременных запросов превышает ресурсы процессора/памяти.
  • Сбой или высокая нагрузка на бэкенд‑сервис – база данных, API или другой сервис, к которому обращается сервер, не отвечает.
  • Сетевые брандмауэры или прокси‑сервера – блокируют или ограничивают время установления соединения.
  • Устаревшие кэш‑прокси – старые прокси-серверы не обновляют кэш и могут не пропускать новые запросы.
  • Неправильные настройки тайм‑аутов – значения proxy_read_timeout или proxy_connect_timeout установлены слишком низко.

Способы решения

Способ 1: Обновить и проверить сеть

  1. Обновите страницу (F5 или Ctrl+R).
  2. Убедитесь, что интернет‑соединение стабильно.
  3. Откройте сайт в режиме инкогнито или через VPN, чтобы исключить проблемы с локальным кэшем.

Способ 2: Очистить кэш браузера и cookies

  1. Откройте настройки браузера → «Приватность и безопасность» → «Удалить данные о просмотре».
  2. Выберите «кэш изображений и файлов» и «cookies и другие данные сайтов».
  3. Нажмите «Удалить данные» и перезапустите браузер.

Способ 3: Проверить логи сервера и перезапустить процесс

  1. На сервере выполните:
tail -n 50 /var/log/nginx/error.log
  1. Если ошибки подключения к бэкенду видны, перезапустите веб‑сервер:
systemctl restart nginx

Для Apache:

apachectl -t && systemctl restart httpd

Способ 4: Настроить тайм‑аут обратного прокси / сервера

  1. Откройте конфигурационный файл (/etc/nginx/nginx.conf для Nginx или /etc/apache2/apache2.conf для Apache).
  2. Добавьте/измените строки:
proxy_read_timeout 300s;
proxy_connect_timeout 300s;
  1. Сохраните файл, выполните тест конфигурации и перезагрузите сервис:
nginx -t && systemctl reload nginx

или для Apache:

apachectl -t && systemctl restart httpd

Профилактика

  • Мониторьте нагрузку – используйте инструменты мониторинга (Prometheus, Grafana), чтобы вовремя выявлять перегрузки.
  • Кэшируйте динамические ресурсы – настроите HTTP‑кеширование, чтобы уменьшить нагрузку на бэкенд.
  • Регулярно обновляйте ПО – поддерживайте актуальность операционной системы, веб‑серверов и драйверов сетевого оборудования.
  • Настройте брандмауэр правильно – исключите лишние правила блокировки и установите разумные лимиты на таймауты соединений.
  • Тестируйте резервные цепочки прокси – убедитесь, что резервные прокси-серверы (например, HAProxy, Varnish) работают и имеют достаточные тайм‑ауты.

Часто задаваемые вопросы

Что означает ошибка 504 Gateway Timeout?
Почему сервер выдает 504?
Как проверить, сервер ли виноват в 504?
Как предотвратить появление 504 в будущем?

Полезное

Обновить страницу и проверить сеть
Очистить кэш браузера и cookies
Проверить логи сервера и перезапустить процесс
Настроить тайм‑аут обратного прокси / сервера

Эта статья помогла вам решить проблему?