Что такое error 504 как исправить

Код ошибки в формате 5хх говорит о том, что на стороне сервера есть проблема: сервер не может обработать запрос от клиента. Клиентом в данном случае выступает браузер.

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




Ошибка 504 что значит

Какие ещё бывают варианты отображения ошибки:

  • HTTP Error 504,
  • Gateway Timeout Error,
  • HTTP Error 504 – Gateway Timeout,
  • 504 Gateway Timeout nginx,
  • 504 Gateway Time-out – The server didn’t respond in time,
  • Ошибка 504 Время ответа сервера истекло,
  • Время ожидания шлюза (504),
  • Ошибка тайм-аута шлюза,
  • HTTP 504,
  • 504 Ошибка.

В этой статье мы расскажем, как устранить код ошибки 504.

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

Итак, вы перешли на сайт, но вместо веб-страницы видите сообщение с кодом 504.




Что такое тайм аут шлюза

Проблема может быть как со стороны сайта, так и со стороны устройства, например настроек браузера.
Чтобы убедиться в том, что настройки браузера в порядке:

1) Обновите страницу. Но обновите не клавишей F5, а выделите содержимое адресной строки и нажмите Enter. Если после этих действий ошибка 504 не возникает ни на текущем, ни на любом другом сайте – её можно проигнорировать.

2) Зайдите на тот же ресурс через другой браузер. Если в этом случае сайт открылся корректно, перейдите к следующему пункту.

3) Очистите кэш браузера и удалите файлы cookie. После этого браузер будет работать быстрее.
Воспользуйтесь инструкцией Как очистить кэш браузера.

4) Перезагрузите роутер или модем. Отключите устройство от сети примерно на 10 минут.

5) Очистите кэш DNS. Для этого воспользуйтесь инструкцией ниже.


Как очистить кэш DNS

В зависимости от вашей операционной системы очистите кэш по одной из инструкций.

1) Откройте командную строку. Для этого введите в поисковую строку «Командная строка» и выберите появившееся приложение:




2) Введите команду:

3) Дождитесь сообщения об очистке кэша:




1) Откройте терминал клавишами Ctrl+Alt+T.

2) Введите команду:

Для Ubuntu:

sudo service network-manager restart

Для других дистрибутивов:

sudo /etc/init.d/nscd restart

1) Войдите в терминал. Для этого нажмите клавиши Command + Space. Введите Терминал и нажмите на найденное приложение.

2) Введите команду:

sudo killall -HUP mDNSResponder

Готово, вы очистили кэш DNS.

6) Обратитесь в техподдержку вашего интернет-провайдера. Возможно, это проблема сети, за которую отвечает провайдер.

Если эти действия не принесли результата – обратитесь в техническую поддержку сайта.

Если вы владелец сайта

Как исправить ошибку 504 на виртуальном хостинге

1 способ

Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта. По умолчанию это 30 секунд, при этом среднее время загрузки сайта не должно превышать 1-3 секунды.
Если скрипты вашего сайта должны исполняться дольше 30 секунд, вы можете миновать Nginx и обратиться к сайту по другим портам. Если ваша панель управления хостингом:

  • ISPManager – используйте порт 8081
  • cPanel или Plesk – используйте порт 8080.

2 способ

Если этот вариант вам не подходит, рекомендуем перенести ваш сайт на Облачный сервер, на котором доступна гибкая настройка сервера, в том числе и лимитов. Для этого закажите услугу «Облачные серверы» и перенесите сайт по инструкции Как перенести сайты между услугами REG.RU.

3 способ

Также вы можете изменить директиву max_execution_time в файле php.ini. Она указывает на время, за которое должен отрабатываться скрипт. Для этого:

  1. 1.

  2. 2.

    Укажите нужное значение в строке:

    Где 30 – время выполнения скрипта в секундах.

4 способ

Если вы используете CDN, проблема может быть связана с ней.


Что такое CDN

CDN – это сетевая инфраструктура, которая распределена географически. Она обеспечивает быструю загрузку контента пользователям веб-сервисов и сайтов. Серверы, которые входят в состав CDN, географически расположены так, чтобы сделать время ответа сайта или сервиса минимальным для пользователей.
Пользователь ищет ресурс и тем самым посылает запрос. Запрос идентифицируется и направляется на PoP – на ближайший к пользователю кэширующий сервер в этой инфраструктуре. Возможны два варианта:

  • Если в кэше PoP есть данные об этом запросе, он отвечает браузеру, а тот отображает контент.
  • Если в кэше этого сервера нет данных, запрос переадресовывается к ориджину – центральному серверу, на котором хранятся все данные. Когда ориджин отвечает на запрос, PoP кэширует его и передаёт ответ браузеру. После этого контент отображается в браузере.

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

Если ошибку исправить не удалось, обратитесь в техническую поддержку.

Как исправить ошибку 504 на VPS

1 способ

Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта. По умолчанию это 30 секунд, при этом среднее время загрузки сайта не должно превышать 1-3 секунды.
Чтобы избавиться от этой ошибки, попробуйте повысить время ожидания веб-сервера Nginx.

2 способ

Также ошибка 504 может возникать, когда Nginx используется как прокси-сервер для Apache. В этом случае нужно настроить параметры времени ожидания при проксировании. Максимальное время исполнения скрипта в настройках веб-сервера — 300 секунд.
Изменить параметры ожидания можно в конфигурационном файле nginx.conf. Для этого:

  1. 1.

    Подключитесь к серверу по SSH.

  2. 2.

    Откройте конфигурационный файл с помощью команды:

    sudo nano /etc/nginx/nginx.conf
  3. 3.

    Добавьте строки в блоке server:

    #server {
    
    #...
    
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;
    send_timeout 600;
    
    #...
    #}

    Где 600 — время в секундах.

  4. 4.

    Перезапустите Nginx с помощью команды:

Если решить проблему не удалось, обратитесь в техническую поддержку или на тематические форумы по Nginx.

Ошибка 504 Gateway Time-out – это один из стандартных ответов сервера на запрос браузера. Конкретно этот код – 504 Gateway Time-out – значит, что в обработке запроса участвовало несколько серверов, и чтобы его выполнить, один из серверов должен был получить ответ от другого, но не получил его в течение допустимого времени ожидания.

Дополнительный сервер может быть внешним — например, CDN, а может и частью вашей инфраструктуры. Например, proxy или сервер базы данных.

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

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

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

Далее советы, если это Ваш сайт или Вы имеете к нему доступ.

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

Если вы используете Nginx в качестве прокси для Apache или в связке с PHP-FPM, ошибка может возникнуть из-за не верно устновленного времени ожидания ответа на запрос в настройках. Попробуйте увеличить этот параметр.

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

Большую нагрузку на сервер может создавать вредоносный трафик, например, DDoS-атака.

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

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

442

Комментировать ответ…Комментировать…

Ошибка 504 Gateway Time out – это код состояния HTTP, который означает, что один сервер не получил своевременный отклик от другого сервера, к которому он обратился, пытаясь загрузить веб-страницу или выполнить запрос браузера. Она может возникать вместе с 502 Bad Gateway.

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

  • Как можно увидеть ошибку 504 Gateway Time out
  • Причины возникновения ошибки 504 Gateway Time out
  • Как исправить ошибку 504 Gateway Time out
  • Исправление ошибки 504 Gateway Time out на вашем собственном сайте
  • Больше способов увидеть ошибку 504 Gateway Time out
  • Ошибки похожие на 504 Gateway Time out

Отдельным сайтам разрешено настраивать отображение ошибки Gateway Timeout. Вот несколько распространенных способов вывода подобной ошибки:

504 Gateway Timeout
HTTP 504
504 ERROR
Gateway Timeout (504)
HTTP Error 504 - Gateway Timeout
Gateway Timeout Error

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

Помните, что ошибка 504 Gateway Time out и 502 Bad Gateway nginx может появиться в любом браузере, операционной системе и на любом устройстве.

В большинстве случаев ошибка 504 Gateway Timeout означает, что любой сервер, который выдает «тайм-аут», “упал” или неправильно работает.

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

Перезагрузите веб-страницу, нажав кнопку обновление / перезагрузка, в F5 или повторив URL-адрес из адресной строки.

Несмотря на то, что 504 Gateway Timeout и ошибка 502 Bad Gateway сообщает о неподконтрольной вам ошибке, проблема может быть временной. Просто перезагрузите страницу – это быстро и легко.

  • Перезапустите все сетевые устройства. Временные проблемы с модемом, маршрутизатором, коммутаторами или другим сетевым оборудованием могут вызывать ошибку 504 Gateway Timeout. Простой перезапуск этих устройств может помочь.

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

  • Проверьте настройки прокси-сервера в своем браузере или приложении. Убедитесь, что они верны. Неправильные настройки прокси-сервера могут вызвать 504 ошибку.

Подсказка. Смотрите Proxy.org обновленный, проверенный список прокси-серверов, которые можно использовать.

Примечание. Большинство компьютеров не имеют настроек прокси-сервера, поэтому, если ваши настройки пусты, пропустите этот шаг.

  • Измените DNS-сервер. Возможно, ошибка 504 Gateway Timeout, которую вы видите, вызвана проблемой с DNS-сервером, который вы используете.

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

Подсказка. Если не все сетевые устройства получают ошибку HTTP 504 или 502 error Bad Gateway, но все они находятся в одной сети, изменение DNS-сервера не сработает. Если это похоже на вашу ситуацию, переходите к следующей идее.

  • Если изменений не произошло, обратитесь к сайту. Это единственное, что вы можете сделать. Велика вероятность, что администраторы сайта уже работают, чтобы исправить первопричину ошибки 504 Gateway Timeout.

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

Подсказка. Если начинает казаться, что сайт выдает 504 ошибку для всех, поищите в Twitter в режиме реального времени информацию о недоступности сайта. Лучший способ сделать это – найти #websitedown в Twitter. Например, если Facebook может быть недоступен, выполните поиск по тегу #facebookdown.

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

Регулярно проверяйте сайт. Без сомнения, он снова начнет работать.

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

Большие объемы трафика могут привести к тому, что ваш сервер будет выдавать ошибку 504. Хотя 503 или ошибка 502 Bad Gateway будет более вероятна.

В частности, в WordPress сообщение 504: Gateway Timeout иногда возникает из-за поврежденных баз данных. Установите WP-DBManager и попробуйте применить функцию «Восстановить БД», а затем «Оптимизировать БД». Посмотрите, поможет ли это.

Убедитесь, что ваш файл HTACCESS правильный. Особенно если вы только что переустановили WordPress.

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

Ошибка Gateway Timeout при получении в Windows Update генерирует код ошибки 0x80244023 или сообщение WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT.

В программах на базе Windows, которые изначально обращаются к интернету, ошибка 504 может отображаться в небольшом диалоговом окне или окне с ошибкой HTTP_STATUS_GATEWAY_TIMEOUT и/или сообщение The request was timed out waiting for a gateway (истекло время ожидания запроса для шлюза).

Менее распространенная ошибка 504 – это Gateway Time-out: The proxy server did not receive a timely response from the upstream server (прокси-сервер не получил своевременного ответа от вышестоящего сервера), но поиск и устранение неисправностей (указанных выше) продолжается.

Ряд сообщений об ошибках аналогичен ошибке 504 Gateway Timeout, поскольку все они происходят на стороне сервера. Некоторые включают в себя ошибку 500 Internal ServerВнутренняя ошибка сервера»), ошибку 502 Bad Gateway (что это означает – «Неверный шлюз»), и ошибку 503 Service UnavailableСервис временно недоступен»), среди нескольких других.

Существуют также коды статуса HTTP, которые не являются серверными, а возникают на клиентской стороне. Например, часто встречающаяся ошибка 404 Not FoundСтраница не найдена»).

Ошибка 504 Gateway Timeout (от англ. «тайм-аут шлюза») — это код состояния HTTP, который указывает на то, что веб-сервер не получил своевременного ответа от вышестоящего сервера при попытке загрузить страницу. Простыми словами, ошибка 504 Gateway Timeout — это свидетельство о сбое на сервере, когда он выступает шлюзом или в качестве прокси.

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

Как выглядит ошибка 504

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

  • 504 Error.
  • «Время ответа сервера истекло».
  • HTTP Error 504.
  • «Ошибка таймаута шлюза».
  • Gateway timeout.
  • The server didn’t respond in time.

Точный текст ошибки зависит от того, какой именно сервер используется в качестве фронта и какой в качестве бэка. Самые частые сценарии — Nginx и Apache, соответственно.

Один из возможных вариантов ошибки

Один из возможных вариантов ошибки

Почему возникает ошибка 504

Самая популярная причина — перегрузка сервера. Давайте посмотрим, почему она происходит и какие источники встречаются наиболее часто.

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

Ошибки от плагинов

Многие веб-мастера устанавливают большое количество разнообразных плагинов для расширения функционала сайта. Например, для внедрения кеширования страниц или добавления на сайт CDN (сеть доставки контента). Подобные плагины могут загружать данные со сторонних источников — например, удаленных серверов. Если на таком сервере возникает сбой, определенная страница или сайт целиком может начать отдавать 504-ю ошибку.

Ошибки от скриптов

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

Аномальное увеличение посещаемости

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

Небольшие скачки посещаемости не представляют угрозы для производительности сервера

Небольшие скачки посещаемости не представляют угрозы для производительности сервера

Израсходование лимитов тарифного плана хостинга

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

Пример лимитов по серверным ресурсам на начальном тарифе хостинга Beget

Пример лимитов по серверным ресурсам на начальном тарифе хостинга Beget

Загрузка на сайт файлов

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

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

Хакерские атаки

504 ошибку могут вызывать различные атаки на сайт — например, распределенная атака типа «отказ в обслуживании». Чтобы диагностировать эту причину — обратитесь в поддержку хостинга. Если атака подтвердится — установите на сайт защитный экран, например Cloudflare.

Схема атаки типа denial-of-service

Схема атаки типа denial-of-service

Вредоносный код в файлах сайта

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

Браузер Google Chrome не позволит открыть сайт, если он заражен вирусом или содержит иное вредоносное ПО

Браузер Google Chrome не позволит открыть сайт, если он заражен вирусом или содержит иное вредоносное ПО

Ошибка в браузере

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

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

Теперь рассмотрим, как решить ошибку самостоятельно. Отдельно пользователю и отдельно вебмастеру.

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

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

Если вы вспомнили конкретное изменение, просто откатитесь к предыдущей версии: например, удалите плагин или верните старую тему сайта.

«У меня VPS с Nginx / Apache»

С такой конфигурацией сервера возникновение 504 ошибки встречается довольно часто. Чтобы устранить ее, найдите конфигурационный файл сервера, который называется httpd.conf. Находится он в дистрибутиве Apache, соответственно. Что нужно сделать:

  1. Устанавливаем значение тайм-аута на 700 секунд и сохраняем файл. Перезагружаем бэкенд (для этого используем команду service nginx reload) и проверяем, ушла ошибка или нет.
  2. Находим файл php.ini. Открываем его и изменяем значение максимального времени исполнения на 300 секунд. Опять перезагружаем backend (используем команду service nginx reload) и проверяем, ушла ошибка или нет.

Параметр для значения Timeout устанавливаем на 700 секунд, а max_execution_time изменяем на 300 секунд

Параметр для значения Timeout устанавливаем на 700 секунд, а max_execution_time изменяем на 300 секунд

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

Изменение портов в панели управления хостингом

Также попробуйте изменить порты для обращения к сайту. Так вы решите проблему в случаях, когда выполнение скрипта занимает продолжительное время (более 30 секунд). В разных панелях управления хостингом нужно устанавливать разные порты. Например в Plesk — это 8080, в ISPManager — 8081.

Примеры портов для Plesk

Примеры портов для Plesk

«У меня на сайте используются CDN: что делать»

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

Два типа дистрибуции контента сайта. CDN справа

Два типа дистрибуции контента сайта. CDN справа

Перенос сайта на другую сетевую конфигурацию

Если изменить значение максимального времени исполнения в php.ini для вас затруднительно, вы можете просто перейти на облачный тариф хостинга. В облачной инфраструктуре доступно тонкое управление параметрами сервера, включая регулировку технических ограничений.

Пример конфигураций облачных серверов у Selectel

Пример конфигураций облачных серверов у Selectel

Включите журналирование ошибок

Этот способ поможет точно установить, в каком именно месте происходит ошибка, не позволяющая открыть страницу. В CMS журналирование может активироваться разными способами. Например, на WordPress необходимо открыть файл wpconfig.php и добавить в него три PHP-константы для установки отладки:

define( ‘wp_debug’, true );

define( ‘wp_debug_log’, true );

define( ‘wp_debug_display’, false );

Сохраняем wpconfig.php. Все, теперь логирование ошибок включено и вы сможете посмотреть источник ошибки в журнале.

«У меня веб-сервер nginx: что делать»

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

  • таймаута для отправки прокси;
  • тайм-аута для чтения прокси;
  • времени отправки тайм-аута.

Мы установили значение для каждого вышеописанного параметра на 750 секунд

Мы установили значение для каждого вышеописанного параметра на 750 секунд

Обычно конфигурационный файл тайм-аута находится в следующей директории:

Найдите конфигурационный файл Nginx по этому пути

Найдите конфигурационный файл Nginx по этому пути

Важно: перед открытием конфигурационного файла обязательно подключитесь по протоколу SSH.

Если вы используете VPS, необязательно вручную искать конфигурационный файл, чтобы изменить значение параметров. Просто откройте административную панель сервера, найдите настройки сервера и добавьте необходимые значения. Как правило, настройки php.ini и параметры httpd всегда разнесены по разным вкладкам. Справедливо это для ISPmanager, Ajenti, Vesta Control Panel и других популярных панелей управления сервером, например, CentOS Web Panel.

Неполадки сервера

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

Пример обращения в саппорт хостинга

Пример обращения в саппорт хостинга

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

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

Очистка DNS

Очистите кэш DNS в используемой операционной системе:

  • На macOS необходимо открыть «Терминал» и указать команду sudo killall -HUP mDNSResponder.
  • На Windows нужно открыть командную строку и ввести команду: ipconfig /flushdns.

Очистка сопоставителя DNS в Windows 10

Очистка сопоставителя DNS в Windows 10

Другие способы

Если очистка DNS-кэша не помогла, попробуйте выполнить следующие действия

  1. Обновите страницу с очисткой ее кэша. Для этого используется сочетание горячих клавиш Control + F5. В редких случаях в кэше могут накапливаться ошибки, особенно если вы часто посещали сайт, на котором теперь возникает ошибка.
  2. Попробуйте открыть проблемную страницу с другого устройства. В редких случаях в системе могут накапливаться ошибки, которые препятствуют открытию всего сайта или конкретной страницы. Диагностировать эту причину и поможет смена устройства.
  3. Удалите временные файлы браузера, включая кэш-файлы и файлы-куки.

В Google Chrome удалить файлы cookie и другие данные сайта, можно в разделе Конфиденциальность и безопасность

В Google Chrome удалить файлы cookie и другие данные сайта, можно в разделе Конфиденциальность и безопасность

Заключение: профилактика появления Gateway timeout для вебмастера

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

  • Какие ресурсы серверного железа вы планируете использовать.
  • Что хотите настраивать.
  • Наличие каких технологий для вас является критически важным.

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

Чтобы на веб-странице появился контент, браузер должен получить от сервера, на котором расположен сайт, необходимые данные. Когда на устройстве пользователя, на веб-сервере или на другом промежуточном узле (например, прокси) возникают неполадки, вместо содержимого сайта в браузере появляется страница с ошибкой. Для устранения сбоя, необходимо знать, на чьей стороне он произошел и по какой причине. Понять, что является источником проблемы, помогает цифровой код ошибки. Если он имеет формат 5xx, значит, сбой происходит на стороне сервера. Разбираем в статье ошибку 504 на сайте и способы ее устранения.

Что значит ошибка 504 и когда она появляется

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

Ошибка 504 Gateway Time Out.

Изображение от Freepik.

На выполнение некоторых операций на сервере выделяется определенное количество времени. Например, обработка http-запроса на Nginx по умолчанию должна быть завершена за 30 секунд. Лимит времени устанавливается для того, чтобы при избыточной нагрузке сервер мог прервать процесс, который не может выполнить, и перейти к следующей задаче. Средняя продолжительность загрузки сайта составляет всего 1–3 секунды, однако иногда она может увеличиваться, например, если сервер выполняет ресурсоемкие скрипты. Когда на это требуется больше максимально допустимого времени, соединение с клиентом (браузером) разрывается и возникает один из вариантов сообщения «HTTP Error 504 — Gateway Timeout». К повышенной нагрузке на сервер могут привести внутренние сбои на сайте, проблемы с безопасностью, настройки браузера и так далее.

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

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

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

Долго обрабатывается скрипт

Если скрипт тяжелый, сервер может не успеть полностью его обработать до появления ошибки. Лучшим решением проблемы будет облегчение скрипта или его замена. Когда это невозможно, увеличивают период ожидания сервера. Лимит времени, за которое скрипт должен быть отработан, устанавливается через директиву «max_execution_time» в файле «php.ini». По умолчанию он составляет 30 секунд. Чтобы он стал больше, необходимо открыть файл и подставить в строку «max_execution_time = 30» новую допустимую продолжительность операции. Кроме того, поменять настройки можно в Nginx и Apache.

Нестандартные параметры времени ожидания сервера могут понадобиться, если вы используете Nginx в качестве прокси-сервера для Apache. Изменение времени выполнения скрипта на веб-сервере производится в файле «nginx.conf». Порядок действий:

  1. Подключение к серверу по Secure Shell (протоколу для удаленного управления операционной системой).
  2. Ввод команды «sudo nano/etc/nginx/nginx.conf» для запуска файла.
  3. Редактирование блока server: увеличение времени до наступления тайм-аута с 300 секунд до 600:

    Изменение времени выполнения скрипта в файле «nginx.conf».

  4. Перезагрузка веб-сервера командой «service nginx reload».

Коррекцию файлов «php.ini» и «nginx.conf» лучше проводить совместно. В обоих документах необходимо указать одинаковое время обработки запроса.

При использовании Apache время обработки запроса редактируется через «httpd.conf». Что необходимо сделать:

  1. Открыть файл.
  2. Ввести строку:

    Через httpd.conf.

  3. Сохранить корректировки и заново запустить сервер.

Проблемы с CDN

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

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

Выросла нагрузка на один из серверов

К повышенной нагрузке на сервер может привести резкий рост трафика. Наплыв пользователей может быть связан как с намеренными действиями владельца веб-ресурса — с запуском рекламной кампании, так и со случайными событиями — временным увеличением спроса на сезонный товар, продающийся в интернет-магазине. Поскольку количество операций, которое сервер может выполнять одновременно, ограничено его вычислительной мощностью, при избыточной нагрузке хостинг-компьютер перестает отвечать на запросы пользователей. Чтобы он снова мог отдавать данные браузеру, достаточно арендовать компьютер с более мощным железом, например, с виртуального хостинга перейти на VPS. Если планируется проведение маркетинговых мероприятий, лучше заранее арендовать дополнительные вычислительные ресурсы (оперативную память, место на жестком диске и т. д.).

В компании «Интернет Хостинг Центр» клиенты могут арендовать VPS сервер в России с бесплатной защитой от DDoS на всех тарифах. Выделенный IP и техподдержка входят в стоимость.

Проверка службы DNS

Сообщение «Error 504 — Gateway Timeout» может появиться, если DNS-служба не справилась с преобразованием доменного имени в IP-адрес. Причиной ошибки становится перенос веб-ресурса с локального ПК на веб-сервер и автоматически пропадет, после того как новые DNS-данные распространяются по всему Интернету. Процесс занимает около двух суток.

Проблемы с DNS могут возникнуть на компьютере пользователя. Для их устранения на ПК вызывается командная строка операционной системы, где вводится специальная команда для очистки DNS-кэша, в Windows — это «ipconfig /flushdns».

Очистка DNS-кэша.

Спам, вирусы и DDoS-атаки

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

  • проверить наличие антивируса в административной панели хостинга;
  • включить защиту от DDoS;
  • подключить анти-спам плагины в CMS сайта;
  • проверить лог-файлы на наличие часто повторяющихся IP-адресов;
  • установить SSL/TLS;
  • защитить формы обратной связи с помощью капчи;
  • предотвратить публикацию комментариев со ссылками на вредоносное ПО, подключив модерирование контента и так далее.

Проблемы с плагинами в CMS

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

Как решить проблему, если вы — пользователь

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

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

Заключение

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

Добавить комментарий