Блог

Ошибка 504 “Gateway Time Out”: почему она появляется и как её исправить

26 августа 2024
12 мин. 1916
image
image
Елена Андреева редактор-копирайтер
Ошибка 504 “Gateway Time Out”: почему она появляется и как её исправить
«Всё сломалось», и вместо страницы сайта на экране появились цифры «504»? В такой ситуации точно бывал каждый активный пользователь интернета, ведь эту ошибку сайты выдают довольно часто. В статье разбираемся, почему возникает «Gateway Time Out» (перевод: «закончилось время шлюза»); как владельцам сайта не допустить её появления и может ли с ней что-то сделать обычный пользователь.

«504»: что это за код?

Все коды ошибки, начинающиеся с цифры «5», означают похожие виды проблем: они возникают потому, что сервер не может обработать запросы от клиента, то есть от браузера. Пояснение о том, что именно пошло не так, обычно выводится вместе с кодом ошибки. В эту же группу входят 521 «Server Request Failed», 503 «Service Unavailable» и другие. Традиционно все описания ошибок выводятся на английском языке.
Интересный факт: в веб-разработке числовые маркировки ошибок называются «HTTP response status codes». Они делятся на пять категорий:

1** — Informational responses (информационные ответы);
2** — Successful responses (успешные ответы);
3** — Redirection messages (сообщения о перенаправлении);
4** — Client error responses (ошибки ответа клиента);
5** — Server error responses (ошибки ответа сервера).
Сообщение «504 Gateway Time Out» на языке веб-разработки означает, что один сервер, к которому обратился пользователь, не получает в заданное время ответ от другого сервера, который работает как шлюз или прокси. Это может произойти из-за различных причин, например, серверы перегружены, сетевые проблемы, неправильная конфигурация сервера или программного обеспечения. Говоря простыми словами, это ошибка, в которой сервер «не виноват»: проблема заключается в другом участнике соединения, который его «подставляет», не отвечая на запрос.

Разберём на примере причины возникновения ошибки 504 «Gateway Time Out»:

  1. Ваш компьютер или смартфон запрашивает информацию у сервера «Server А».
  2. Server, А должен запросить эту информацию у прокси-сервера «Proxy Server В».
  3. Из-за неполадок, перегрузки или других причин Proxy Server В долго не отвечает.
  4. Server, А ждёт ответа в течение времени, установленного протоколом. Когда время истекло, а ответ так и не получен, он отправляет вам код ошибки: «504 Gateway Timeout».

Сообщение об ошибке может быть и с другим текстом, а также содержать изображения.
Примеры описания ошибки:
  • 504 Ошибка;
  • ошибка 504 Время ответа сервера истекло;
  • 504 Gateway Timeout nginx (это значит «Время ожидания шлюза nginx истекло» ;
  • 504 Gateway Time-out — The server didn’t respond in time (это значит «Время ожидания шлюза истекло — сервер не ответил вовремя» ;
  • HTTP 504;
  • HTTP Error 504;
  • HTTP Error 504 — Gateway Timeout (перевод: «Ошибка 504 — закончилось время шлюза»);
  • Gateway Timeout Error (перевод: «ошибка, закончилось время шлюза»);
  • Server did not respond in given time (на русском: «сервер не ответил в заданное время»;
  • Русский вариант: время ожидания шлюза (504);
  • Русский вариант: ошибка тайм аута шлюза.
Также экран ошибки 504 «Gateway Timeout» часто содержит рекомендации для пользователя: как ему стоит поступить. Обычно это советы перезагрузить страницу, перейти на другую (предыдущую, главную и т. д) или связаться со службой поддержки.
Источник: Яндекс Еда

Как ошибка 504 «Gateway Time Out» влияет на продвижение сайта

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

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

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

Когда Google-роботы сталкиваются с ошибкой 504 Service Unavailable (перевод: «504, сервис недоступен»), они осознают, что это лишь временная неисправность, после чего предпримут попытку повторного сканирования страницы. При недоступности сайта в течение нескольких минут роботы попытаются обратиться к кэшированной версии страницы. Но если сайт остается недоступным более 6 часов, Google начнет рассматривать ошибку 504 как значительную неисправность всего сайта, что может негативно отразиться на его SEO-продвижении.

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

Если вы узнали о том, что ошибка 504 регулярно возникает на вашем сайте, стоит оценить, насколько далеко всё зашло: проверить его индексацию в поиске. Чтобы убедиться, что ваш сайт не выпал из индекса Google из-за ошибки 504, рекомендуется использовать Google Search Console. Вместе с тем проверить индексацию страниц в Яндексе можно с помощью Яндекс Вебмастер.

Причины появления ошибки

Ошибка 504 возникает, когда сервер не может получить ответ от другого сервера в установленный временной интервал. Разберёмся, почему это может происходить и что предшествует «тайм-ауту».

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

Есть разные причины задержки данных шлюзом. Вот самые распространенные из них:

Перегрузка сервера, когда он не справляется с обработкой всех запросов вовремя. Проблема с сетевым соединением: веб-серверы медленно передают данные из-за слабого интернета (или не передаются, если соединения нет).

Настройка сервера или шлюза. Если она сделана неверно, это тоже может быть причиной ошибки 504.

Брандмауэры и прочие средства безопасности, которые иногда препятствуют передаче запросов, а значит, нарушают взаимодействие серверов.

Проблемы с API или сторонними сервисами. Они также приводят к тому, что внешние сервисы не отвечают в установленный срок.

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

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

Проблемы с основным сервером. Иногда он не может получить ответ из-за проблемы на своей стороне.

Проблемы с подключением баз данных возникают, когда сервер не может установить соединение с базой данных в ограниченный интервал времени.
Перевод: «504 — время шлюза истекло. Это ошибка. Мы не получили вовремя ответ от следующего сервера. Это всё, что нам известно». Источник: Pikabu.ru
Причины появления ошибки 504 «Gateway Time Out» важно знать и пользователю, и владельцу сайта. Но набор действий для них будет разным. Пользователю нужно уметь справляться с ошибкой, если она возникла из-за проблем на его устройстве или в сети. А владельцу — если причина в серверном оборудовании или архитектуре на сайте. В этом случае рекомендуется увеличить ресурсы сервера, оптимизировать работы базы данных, исправить ошибки в коде приложения или обновить серверное ПО.

Что может сделать пользователь

Столкнувшись с ошибкой 504 «Gateway Time Out», стоит первым делом перезагрузить страницу. Иногда эта проблема возникает однократно из-за временных сбоев и перегрузок, а значит, она быстро исчезнет. Если же у пользователя часто возникает ошибка 504 «Gateway Timeout», но при этом у других посетителей нет жалоб на работу сайтов, скорее всего, проблема на его стороне. Что можно сделать:

  1. Проверить стабильность интернет-соединения. Подключение к сети должно быть надежным и быстрым.
  2. Проверить, исправно ли устройство: корректно ли работает Wi-Fi модуль или приём мобильного интернета.
  3. Попробовать другие браузеры. Если это помогло, то основной браузер стоит обновить до последней версии и очистить кэш и куки, чтобы избежать возможных конфликтов.
  4. Отключить расширения браузера, которые могут вызывать перегрузку системы.
  5. Если ошибка 504 «Gateway Time Out» не устраняется, обратиться к провайдеру интернет-услуг.

Если ошибка 504 «Gateway Timeout» появляется только на конкретном сайте и другие пользователи тоже сообщают о ней, значит, стоит посетить эту интернет-страницу позже или воспользоваться VPN для смены IP-адреса. Если всё это не поможет при открытии страницы, то очевидно, что проблема в сайте. Тогда пользователю стоит обратиться владельцу или администратору веб-ресурса и сообщить о проблеме.
Экран ошибки предлагает пользователю открыть другие страницы сайта. Источник: Host-food.ru

Что может сделать администратор или владелец сайта

Если техподдержка сайта получает много сообщений об ошибке 504 «Gateway Time Out», это значит, что есть явные проблемы в работе веб-ресурса. Нужна тщательная диагностика, которая будет включать в себя весь путь запроса и всех участников: от состояния серверов до загрузки сайта. Вот возможные пути, которыми можно справиться с ошибкой.

  1. Если число посетителей на сайте растёт, то значит, возникают проблемы с доступностью сервера из-за избыточной загрузки. Для решения этой проблемы необходимо исправить ситуацию: перенести сайт на более мощный хостинг, который сможет обеспечить необходимые ресурсы даже при постоянном росте посещаемости.
  2. Если сменить хостинг не получается, можно оптимизировать сайт: сделать так, чтобы ресурсы хостинга расходовались более экономно. Но если посещаемость продолжит расти, это только временное решение.
  3. Отключить плагины в CMS. Совет особенно актуален для WordPress: там ошибка 504 «Gateway Time Out» часто возникает из-за того, что плагины создают высокую нагрузку на сервер.
  4. Ускорить скрипт. Один из способов — оптимизировать код, что позволит выполнить скрипт за 30 секунд или быстрее. Также можно изменить порты через панель управления хостингом. Вам поможет Javascript compressor.
  5. Проверить работу CDN — Content Delivery Network, «сети взаимосвязанных серверов». Она ускоряет процесс загрузки сайтов и приложений с высокой нагрузкой. Для этого рекомендуется отключить сеть доставки содержимого на веб-сайте и очистить кэш сайта.
  6. Проверить на спам, вирусы и DDoS-атаки. Повышенная нагрузка на сайт бывает вызвана вредоносным трафиком, и к этому надо быть готовым. Самый простой способ — включить защиту от DDoS, самостоятельно или с помощью интернет-провайдера либо эксперта в разработке сайтов.
  7. Проверить логи сервера. Они находятся в файле error_log, и там хранится информация о выявленных сбоях, ошибках веб-серверов и PHP-ошибках. Прочитать логи поможет эксперт в разработке сайтов или специальная программа для их чтения, такая как Webalaizer или Weblog Expert.

Важно не путать ошибку 504 с другими видами, например, 521 «Server Request Failed». Чтение логов поможет определить вид ошибки и найти её причину.
Сообщение: Этот сервер столкнулся с временной ошибкой и не может выполнить ваш запрос. Пожалуйста, попробуйте снова через 30 секунд. Это всё, что мы знаем. Источник: Google

Как избежать появления ошибки 504 «Gateway Time Out»

Предупредить ошибку проще, чем лечить. В профилактике поможет регулярный мониторинг: необходимо следить за поведением сервера и периодически читать логи. Вот какие действия должна включать грамотная профилактика ошибок, причём не только 504 «Gateway Time Out», но и других проблем на севере:

  1. анализировать журналы сервера — они содержат множество полезной информации и фиксируют все ошибки;
  2. оптимизировать программный код, ведь быстрый код обеспечивает быстрое функционирование сервера. Конечно, стоит стремиться сделать всё классно и эргономично с самого начала, но это возможно лишь в идеальном мире;
  3. применять кэширование — это ускоряет доступ к контенту и снижает нагрузку на сервер;
  4. использовать балансировщик нагрузки, который снижает нагрузку на них.

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

Инструменты поиска ошибок на сайте

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

Яндекс Вебмастер

В разделе «Диагностика сайта» вы найдете информацию об индексации сайта Яндексом. Здесь отображаются все ошибки, связанные с индексацией, которые могут возникнуть на вашем сайте. Яндекс Вебмастер поможет вам оптимизировать сайт для поисковых запросов и контролировать трафик.

Google Search Console

Отображает данные о том, как Google оценивает и интерпретирует образ веб-ресурса. А значит, помогает обнаружить разнообразные проблемы сайтов, такие как ошибки 504 «Gateway Time Out», сложности с картой, анализ ключевых слов, текущий статус и прочее. Обширные отчёты об ошибках доступны в специальном разделе под названием «Покрытие».

Сервисы для SEO-специалистов

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

Саммари

  1. Ошибка 504 («Gateway Time Out») означает, что сервер не смог получить ответ от сервера-посредника в установленный срок.
  2. К частым ошибкам 504 «Gateway Time Out» приводят различные причины, такими как перегрузка, проблемы с интернет-соединением или неполадки на шлюзе.
  3. Ошибка 504 «Gateway Time Out» негативно влияет на SEO-параметры сайта, его репутацию у пользователей и лояльность посетителей.
  4. Для решения проблемы пользователь может предпринять следующие шаги: перезагрузить страницу, проверить соединение с интернетом, временно отключить антивирус или брандмауэр, а также обратиться к администратору внешнего сервера. Если всё это не помогает, то ошибка на самом сайте.
  5. Администратор, владелец сайта или веб-мастер для устранения ошибки 504 «Gateway Time Out» должны проанализировать логи, увеличить допустимое время ответа шлюза шлюза, настроить балансировщик нагрузки, оптимизировать базу данных и установить все доступные обновления.
  6. Важно мониторить статусы сервера и оперативно исправлять ошибки. А значит, стоит заключить контракт на техническое обслуживание сайта или освоить специальные веб-инструменты.

Расскажите
о вашем проекте