Раздел помощи SpaceWeb

Ошибка 504 Gateway Time Out

08 май, 2024

Если вы столкнулись с сообщением Error 504 Gateway Timeout, то эта статья для вас. Давайте рассмотрим, о чём может говорить эта ошибка, как она влияет на сайт и как её исправить.

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

Код ошибки 504 Gateway Timeout (Время ожидания шлюза 504) – это стандартный HTTP-статус, который возникает, когда один сервер в интернете не получает своевременный ответ от другого сервера. Чаще он появляется, когда сервер, действующий как шлюз или прокси, пытается выполнить запрос к другому серверу, но тот не отвечает в установленное время.

Процесс возникновения ошибки 504:

  1. Пользователь отправляет запрос. Например, когда пользователь нажимает на ссылку или вводит URL-адрес в браузере.
  2. Запрос передаётся через сервера. Запрос пользователя проходит через один или несколько промежуточных серверов (как правило, это серверы, выполняющие роль шлюзов или прокси).
  3. Выявляется задержка или отсутствие ответа. Один из серверов не получает ответа от следующего в цепочке сервера в пределах заданного времени. На это может быть множество причин, включая перегрузки сервера, проблемы с сетью или технические неполадки на стороне запрашиваемого сервера.
  4. Возвращается ошибка 504. После того как время ожидания истекает, сервер-шлюз возвращает пользователю ошибку 504, указывая, что выполнение запроса невозможно из-за задержки в получении необходимой информации.

Причины ошибки 504

  1. Перегрузка сервера. 

Одной из наиболее распространённых причин ошибки 504 считается перегрузка сервера. Она может происходить, когда на сервер поступает больше запросов, чем он способен обработать. Перегрузка может быть вызвана различными факторами:

  • Внезапный скачок трафика (например, из-за маркетинговой акции или публикации в популярных медиа).
  • DDoS-атаки, цель которых – искусственно создать высокую нагрузку на сервер.
  • Утечка памяти или плохая оптимизация ресурсов, что приводит к исчерпанию системных ресурсов.
  1. Проблемы с сетевой инфраструктурой. 

Сбои в сетевой инфраструктуре могут привести к тому, что запросы не достигнут целевого сервера вовремя:

  • Сбои в работе сетевого оборудования (например, маршрутизаторы или коммутаторы).
  • Неправильно настроенные сетевые правила или изменения в DNS, которые могут мешать правильной маршрутизации трафика.
  • Проблемы с подключением к интернету у провайдера, которые влияют на передачу данных.
  1. Ошибки в конфигурации сервера. 

Неправильная настройка сервера или прокси может также привести к ошибке 504. Сюда относятся:

  • Неправильно настроенный тайм-аут для определённых операций или запросов.
  • Конфигурационные ошибки в прокси-серверах или балансировщиках нагрузки, которые неправильно обрабатывают запросы или пересылку данных.
  • Ошибка в настройке SSL на шлюзе или прокси, что влияет на шифрование и обмен данными.
  1. Проблемы с внешними сервисами. 

Если ваш сервер зависит от внешних сервисов, проблемы с этими сервисами могут вызвать ошибку 504. Эта проблема включает:

  • Задержки или сбои в работе сторонних API, от которых зависит ваш сайт.
  • Неполадки на стороне поставщиков облачных услуг, которые могут влиять на работу вашего сервера.
  • Ограничения на использование API или сетевых ресурсов, которые могут привести к отказу в обслуживании.
  1. Ограничения на серверах промежуточных узлов. 

Если маршрут между клиентом и сервером включает промежуточные узлы, ограничения на этих узлах также могут вызвать ошибку 504. Ошибку могут вызывать:

  • Политики безопасности, которые блокируют определённые виды трафика.
  • Исчерпание доступных сетевых ресурсов на промежуточных серверах.

На что влияет ошибка 504

  1. Ухудшение пользовательского опыта. Ошибка 504 ухудшает пользовательский опыт, поскольку пользователи не получают запрашиваемую информацию. Это может привести к потере доверия и лояльности пользователей.
  2. Снижение конверсии. Если ошибка 504 возникает на коммерческих сайтах во время оформления заказов или выполнения других конверсионных действий, то она может стать причиной незавершённых транзакций. 
  3. Прямая потеря дохода. Особенно когда дело касается интернет-магазинов или онлайн-сервисов, где каждый клик может превращаться в покупку, ошибка 504 приводит к немедленной потере продаж. Недоступность страницы оформления заказа или корзины может привести к отказу от покупки.
  4. Потеря доверия. Постоянные или даже эпизодические ошибки 504 могут создать впечатление ненадёжности сайта. 
  5. Отзывы и оценки. Негативный пользовательский опыт из-за ошибки 504 чаще всего приводит к плохим отзывам в интернете, что также уменьшает привлекательность сайта для новых пользователей.

Как ошибка 504 влияет на SEO

Ошибка 504 Gateway Timeout может существенно повлиять на продвижение сайта, причём её воздействие ощущается в нескольких ключевых аспектах онлайн-маркетинга и SEO (поисковой оптимизации). Это влияние обусловлено тем, как поисковые системы и пользователи воспринимают надёжность и качество вашего сайта.

К критериям, по которым Google, Яндекс и другие поисковые системы ранжируют сайты, относится скорость их загрузки. Ошибка 504 при открытии сайта непосредственно влияет на это, поскольку страница не загружается в течение некоторого времени. Это может привести к понижению общей оценки скорости сайта.

Когда пользователи сталкиваются с ошибкой 504 и покидают сайт из-за отсутствия желаемого контента, это увеличивает показатель отказов. Высокий показатель отказов может быть интерпретирован поисковыми системами как признак низкого качества сайта, что отрицательно скажется на его позициях в поисковой выдаче.

Кроме того, если поисковые роботы часто встречают ошибку 504 при попытке доступа к страницам сайта, это может привести к уменьшению количества индексируемых страниц. Меньшее количество индексированных страниц может снизить видимость сайта в поисковой выдаче.

Как исправить ошибку 504 пользователю

Error code 504 Gateway Timeout обычно связан с проблемами на стороне сервера. А потому конечный пользователь мало на что может повлиять. Однако есть несколько шагов, которые пользователь всё-таки может предпринять, чтобы попытаться обойти или устранить эту проблему со своей стороны.

Обновите страницу

Выполните принудительное обновление страницы, которое игнорирует кэшированную информацию и запрашивает новую копию страницы. На ПК это можно сделать с помощью сочетания клавиш Ctrl+F5, на Mac – Command+ Shift+R.

Проверьте сетевое соединение

Как мы уже говорили, проблемы с сетевым подключением также могут вызвать временные ошибки. Попробуйте перезагрузить маршрутизатор или модем, отключив их на 30 секунд, а затем включив снова.

Очистите кэш браузера

Очистка кэша и cookies может помочь, если в вашем браузере сохранена старая или повреждённая копия страницы.

Также рекомендуется удалить cookies, которые могут содержать устаревшую или повреждённую информацию о ваших сеансах на проблемных сайтах.

Подробнее о том, как очистить кэш, мы рассказывали в руководстве «Как очистить кэш сайта в браузере». 

Воспользуйтесь другим браузером или устройством

Попробуйте воспользоваться другим браузером или даже другим устройством, чтобы увидеть, возникает ли та же ошибка. Если вы обычно используете Chrome, попробуйте Firefox, Safari или Edge, чтобы проверить, возникает ли ошибка таймаута и в других браузерах.

Кроме того, иногда проблема может быть связана с определённым устройством. Попытайтесь получить доступ к сайту с помощью смартфона или другого компьютера.

Обратитесь в службу поддержки

Если все вышеуказанные шаги не помогли, проблема может быть на стороне сайта. Свяжитесь с администратором через контактную информацию или социальные сети, чтобы сообщить о проблеме. 

Как исправить ошибку 504 владельцу сайта

Владелец сайта прежде всего должен провести диагностику, чтобы понять, почему возникла ошибка 504:

Проанализируйте трафик

Первый шаг – установка или улучшение систем мониторинга для наблюдения за трафиком, который проходит через сервер. Сюда относится отслеживание объёма запросов, времени ответа сервера и использования ресурсов (CPU, память) и пропускная способность сети. 

Такие инструменты, как «Яндекс Вебмастер» или Google Search Console, могут отобразить, что происходит на сервере в режиме реального времени. Это позволит вам идентифицировать узкие места и периоды аномальной активности, которые могут вызывать ошибку 504.

Проверьте настройки DNS

Проблемы с DNS обычно возникают после переноса сайта на новый сервер или при изменении DNS-записей. Их обновление может занять до 24 часов. 

Прежде чем ожидать стабильную работу от сайта, важно убедиться, что все DNS-записи корректно обновились и уже вступили в силу. Вы можете проверить текущее состояние DNS с помощью онлайн-инструментов по типу DNS Checker.

Проверьте журнал ошибок

Анализ логов ошибок – это ключевой этап в процессе устранения технических проблем на сайте. Логи предоставляют ценную информацию о внутренних процессах сервера в момент возникновения ошибок, что позволяет быстрее и точнее идентифицировать источник проблемы.

Большинство серверов хранят логи в каталоге /var/log, и к ним можно получить доступ через панель администратора вашего сервера. Такие панели управления хостингом, как cPanel, Plesk или ispManager, упрощают процесс доступа к этим файлам. 

В качестве примера возьмём ispManager: 

  1. Вы можете найти логи ошибок в разделе «Мониторинг и журнал». 
  2. Из выпадающего списка выберите «Журналы WWW-запросов», где они организованы в удобной для просмотра форме. 

  1. Просто перейдите в раздел «Журналы» и выберите файл с названием error.log, с помощью опции Посмотреть.

Если ваш сайт работает на CMS WordPress, вам может понадобиться активировать запись логов для более глубокой диагностики. Для этого в файл wp-config.php, который находится в корне вашего WordPress-сайта, следует добавить следующие строки:

define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); 

Эти настройки включат режим отладки (WP_DEBUG), начнут записывать ошибки в лог (WP_DEBUG_LOG), и не будут отображать ошибки на экране (WP_DEBUG_DISPLAY). 

После активации этих параметров все ошибки будут записываться в файл wp-contents/debug.log. Анализ этого файла может помочь обнаружить причины, по которым возникает ошибка 504.

Проверьте конфигурационные файлы сервера

Ошибки в конфигурационных файлах часто возникают после внесения изменений. Одна маленькая опечатка или синтаксическая ошибка может привести к серьёзным проблемам, включая появление ошибки 504. 

Тщательно перепроверьте каждую строчку на предмет правильности синтаксиса и корректности настроек. Это особенно важно для систем, где конфигурация влияет на обработку входящих запросов и управление трафиком.

Расположение конфигурационных файлов на популярных веб-серверах

Apache:

  • Основной конфигурационный файл может находиться по пути /etc/httpd/conf/httpd.conf.
  • Дополнительные файлы часто располагаются в директории /etc/httpd/conf.d/.
  • В Debian-подобных системах файлы можно найти в /etc/apache2/conf/, /etc/apache2/conf.d/, а также в каталогах /etc/apache2/sites-available/ и /etc/apache2/sites-enabled/.

Nginx:

  • Основной файл настроек расположен в /etc/nginx/nginx.conf.
  • Дополнительные конфигурационные файлы обычно находятся в /etc/nginx/conf.d/.
  • Файлы конфигурации для отдельных сайтов можно найти в /etc/nginx/sites-available/ и /etc/nginx/sites-enabled/.

Важно! Если вы работаете с сервером через панель управления, то местоположение файлов может отличаться. Например, в панелях управления как cPanel или Plesk конфигурационные файлы могут находиться в домашнем каталоге пользователя – обычно в папке «/user».

Отключите CDN 

Иногда причиной ошибки 504 Gateway Timeout на вашем сайте может стать сеть доставки контента (CDN), например Cloudflare, которая не получает своевременный ответ от вашего основного сервера. 

В таких случаях может быть полезно временно обойти или полностью отключить CDN, чтобы проверить, сохранится ли ошибка.

Важно! Отключение CDN связано с изменениями в DNS, которые не вступают в силу мгновенно. Обычно требуется некоторое время, чтобы новые DNS-настройки распространились и стали активными в сети.

Для того чтобы понять, исходит ли проблема непосредственно от вашего сервера или же проблема на стороне CDN, можно временно изменить файл hosts на вашем компьютере. Это позволит напрямую обращаться к вашему серверу, минуя CDN. 

Добавьте в файл hosts строку в следующем формате:

1.1.1.1 yourdomain.ru www.yourdomain.ru 

Где 1.1.1.1 представляет собой реальный IP-адрес вашего сервера, а yourdomain.ru – ваш домен. Теперь браузер будет напрямую обращаться к вашему серверу, минуя любые настройки CDN.

После внесения изменений в файл hosts рекомендуется очистить кэш браузера, чтобы исключить загрузку сохранённых ранее данных. Затем попробуйте заново загрузить сайт. 

Если сайт корректно работает без CDN, скорее всего, проблема заключается в самой CDN. В таком случае можно зайти в панель управления CDN и временно отключить её.

Проверьте плагины WordPress

Ошибки 504 Gateway Timeout на сайтах WordPress могут возникать из-за конфликтов или неполадок в работе сторонних плагинов. Особенно это касается плагинов, которые связаны с кэшированием и оптимизацией. Они могут значительно увеличивать нагрузку на сервер, отправляя множество запросов, что и приводит к тайм-аутам.

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

  1. Войдите в административную панель вашего сайта WordPress.
  2. В боковом меню перейдите в раздел «Плагины».
  3. На странице плагинов установите флажок вверху списка для выделения всех плагинов.
  4. Используйте выпадающее меню «Действия» и выберите опцию Деактивировать.
  5. Нажмите кнопку Применить для отключения всех плагинов.

После деактивации плагинов посетите ваш сайт и проверьте наличие ошибки 504. Если ошибка исчезла, один из плагинов, скорее всего, вызывал проблему.

Если вы не можете получить доступ к админ-панели из-за ошибки 504, попробуйте отключить плагины через файловый менеджер на вашем хостинге:

  1. Войдите в панель управления хостингом.
  2. Откройте «Менеджер файлов» и перейдите в корневую директорию вашего домена. Как правило, она называется «public_html».
  3. Найдите папку «wp-content» и перейдите в неё.
  4. Измените имя папки «plugins» на что-то вроде «plugins_down».
  5. Посетите ваш сайт снова.

Если после этого ошибка 504 пропадёт, это подтверждает, что проблема была связана с одним из плагинов. В этом случае можно создать новую папку с именем «plugins» и последовательно перемещать туда плагины из «plugins_down», проверяя сайт после каждого перемещения. 

После того как вы определите, какой плагин вызывает ошибку, рекомендуется обратиться к разработчику плагина или искать альтернативные решения. Возможно, обновление плагина или переход на другую версию поможет решить вашу проблему. Также стоит регулярно обновлять все плагины и темы, чтобы избежать подобных проблем в будущем.

Заключение

Ошибка 504 Gateway Timeout не только вызывает проблемы у пользователей и владельцев сайтов, но и может иметь долгосрочные последствия для вашего бизнеса и его онлайн-присутствия. Понимание и оперативное предотвращение таких ошибок – критически важная задача для поддержания эффективности, надёжности и конкурентоспособности в цифровую эпоху. 

Улучшение инфраструктуры, мониторинг производительности и оперативное реагирование на проблемы могут помочь минимизировать влияние ошибки 504 и поддерживать качество пользовательского опыта на высоком уровне.