Что означает ошибка 504
Ошибка 504 Gateway Timeout появляется, когда веб‑сервер получил запрос от пользователя, но не получил ответ от upstream‑сервера (бэкенда) в течение установленного интервала времени. В результате браузер показывает страницу с сообщением «504 Gateway Timeout». Это не означает, что ваш компьютер сломался – проблема находится на стороне сервера или сети.
Причины возникновения
- Перегрузка веб‑сервера – большое количество одновременных запросов превышает ресурсы процессора/памяти.
- Сбой или высокая нагрузка на бэкенд‑сервис – база данных, API или другой сервис, к которому обращается сервер, не отвечает.
- Сетевые брандмауэры или прокси‑сервера – блокируют или ограничивают время установления соединения.
- Устаревшие кэш‑прокси – старые прокси-серверы не обновляют кэш и могут не пропускать новые запросы.
- Неправильные настройки тайм‑аутов – значения
proxy_read_timeoutилиproxy_connect_timeoutустановлены слишком низко.
Способы решения
Способ 1: Обновить и проверить сеть
- Обновите страницу (
F5илиCtrl+R). - Убедитесь, что интернет‑соединение стабильно.
- Откройте сайт в режиме инкогнито или через VPN, чтобы исключить проблемы с локальным кэшем.
Способ 2: Очистить кэш браузера и cookies
- Откройте настройки браузера → «Приватность и безопасность» → «Удалить данные о просмотре».
- Выберите «кэш изображений и файлов» и «cookies и другие данные сайтов».
- Нажмите «Удалить данные» и перезапустите браузер.
Способ 3: Проверить логи сервера и перезапустить процесс
- На сервере выполните:
tail -n 50 /var/log/nginx/error.log
- Если ошибки подключения к бэкенду видны, перезапустите веб‑сервер:
systemctl restart nginx
Для Apache:
apachectl -t && systemctl restart httpd
Способ 4: Настроить тайм‑аут обратного прокси / сервера
- Откройте конфигурационный файл (
/etc/nginx/nginx.confдля Nginx или/etc/apache2/apache2.confдля Apache). - Добавьте/измените строки:
proxy_read_timeout 300s;
proxy_connect_timeout 300s;
- Сохраните файл, выполните тест конфигурации и перезагрузите сервис:
nginx -t && systemctl reload nginx
или для Apache:
apachectl -t && systemctl restart httpd
Профилактика
- Мониторьте нагрузку – используйте инструменты мониторинга (Prometheus, Grafana), чтобы вовремя выявлять перегрузки.
- Кэшируйте динамические ресурсы – настроите HTTP‑кеширование, чтобы уменьшить нагрузку на бэкенд.
- Регулярно обновляйте ПО – поддерживайте актуальность операционной системы, веб‑серверов и драйверов сетевого оборудования.
- Настройте брандмауэр правильно – исключите лишние правила блокировки и установите разумные лимиты на таймауты соединений.
- Тестируйте резервные цепочки прокси – убедитесь, что резервные прокси-серверы (например, HAProxy, Varnish) работают и имеют достаточные тайм‑ауты.
Часто задаваемые вопросы
Что означает ошибка 504 Gateway Timeout?
Почему сервер выдает 504?
Как проверить, сервер ли виноват в 504?
Как предотвратить появление 504 в будущем?
Полезное
Обновить страницу и проверить сеть
Очистить кэш браузера и cookies
Проверить логи сервера и перезапустить процесс
Настроить тайм‑аут обратного прокси / сервера