Код ошибки в формате 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.
-
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.
Подключитесь к серверу по SSH.
-
2.
Откройте конфигурационный файл с помощью команды:
sudo nano /etc/nginx/nginx.conf
-
3.
Добавьте строки в блоке server:
#server { #... proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; #... #}
Где 600 — время в секундах.
-
4.
Перезапустите Nginx с помощью команды:
Если решить проблему не удалось, обратитесь в техническую поддержку или на тематические форумы по Nginx.
Ошибка 504 на виртуальном хостинге «Gateway timeout»
Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта (по умолчанию 30 секунд). Как правило, среднее время загрузки сайта не должно превышать 1-3 секунды.где установлен nginx в качестве фронтенда и Apache в качестве бэкенда. И многие думают, что проблема в nginx. Это не так.
504 Gateway Timeout — значит, что клиентский запрос nginx передал апачу, а апач не смог в установленный лимит времени вернуть HTTP-ответ. Немного подробнее о взаимоотношениях nginx’а и апача в статье про 502 Bad Gateway.
Почему Apache не смог ответить? Скорее всего дело в возросшей нагрузке на сайт, при которой Apache не успевает отдавать HTTP-ответы, и новые запросы встают в очередь. Клиенты «висят» в очереди, но за приемлемое время их так и не успевают обслужить, поэтому соединения сбрасываются.
Способы устранения ошибки 504:
- Добавить ресурсов серверу, в частности оперативной памяти, и увеличить количество процессов httpd (Apache), увеличение значения параметра «PHP max_execution_time«.
- Оптимизировать работу скриптов сайта, чтобы они выполнялись быстрее.
- Если скрипты вашего сайта должны выполняться свыше 30 секунд (например, выгрузка базы данных или обмен с 1С), вы можете обратиться к сайту по порту 8081 (для ISPmanager), минуя веб-сервер Nginx.
Если раньше такой ошибки не наблюдалось, обратитесь в техподдержку.
Если этот варианты вам не подходят, рекомендуем перенести ваш сайт на VPS, на котором доступна гибкая настройка сервера, в том числе и лимитов. Для этого закажите услугу «VPS» .
Ошибка 504 на VPS
Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта (по умолчанию 30 секунд). Как правило, среднее время загрузки сайта не должно превышать 1-3 секунды. Чтобы избавиться от этой ошибки, попробуйте повысить время ожидания веб-сервера Nginx.
Если скрипты вашего сайта должны выполняться свыше 30 секунд (например, выгрузка базы данных или обмен с 1С), вы можете обратиться к сайту по порту 8081 (для ISPmanager), минуя веб-сервер Nginx.
Также ошибка 504 может возникать, когда Nginx используется как прокси-сервер для Apache. В этом случае нужно настроить параметры времени ожидания при проксировании.
Добавьте следующие строки в блоке server в ваш файл nginx.conf:
#server { #... proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; #... #}
Затем перезапустите Nginx с помощью команды service nginx reload
Если решить проблему не удалось, обратитесь в техподдержку.
Ошибка 504 означает, что сервер, на котором расположен сайт, не успевает обработать запрос и вернуть в заданный лимит времени HTTP ответ пользователю. Чаще всего такая ситуация возникает при большой нагрузке на сервер: не имея возможности вовремя обрабатывать все запросы, сервер прерывает необработанные соединения по истечении установленного лимита времени. Если это происходит, вместо загрузки сайта пользователь видит на странице ошибку «504 Gateway Time-out».
Техническая сторона вопроса
В подавляющем большинстве случаев проблема с кодом 504 возникает:
- если на сервере в качестве бэкенда установлен Apache;
- при этом в качестве фронтенда установлен nginx.
Такое сочетание чаще всего генерирует ошибку 504 с примечанием Gateway Time-out. В такой связке nginx выступает в качестве чего-то вроде распределителя запросов пользователя, и они сначала попадают к нему, а не напрямую в Apache. И если из-за высокой нагрузки сервер Apache не смог вовремя ответить, nginx пошлёт пользователю соответствующий ответ в виде кода 504.
Как вы могли увидеть ошибку 504
Отдельные веб-сайты могут настраивать отображение ошибок «тайм-аут шлюза», но вот наиболее распространенные ошибки, которые вы увидите:
- Ошибка 504 Время ответа сервера истекло
- HTTP 504
- 504 ОШИБКА
- Время ожидания шлюза (504)
- Ошибка HTTP 504 – Тайм-аут шлюза
- Ошибка тайм-аута шлюза
В окне интернет-браузера ошибка 504 Gateway Timeout отображается как и обычная веб-страница. На странице могут быть знакомые верхние и нижние колонтитулы сайта и сообщение на английском, или он может отображаться на полностью белой странице с большой цифрой 504 вверху. Это все одно и то же сообщение, независимо от того, как его показывает веб-сайт.
Из-за чего появляется ошибка 504
Появление ошибки 504 характерно для серверов Apache в случае большой нагрузки. Такие сервера имеют особенность: при поступлении большого количества запросов они не успевают обрабатываться. Всем пользователям, у которых браузеры не получили HTTP-ответ от сервера, будет показана ошибка 504 Gateway Time-out.
Сталкиваясь с проблемой большой нагрузки, Apache не сразу начинает отдавать код 504. Сначала все запросы, которые не могут быть обработаны прямо сейчас, выстраиваются в очередь. При превышении лимита времени на ожидание HTTP-ответа соединение разрывается, и только тогда появляется ошибка. Со стороны пользователя сайт будет пытаться загрузиться несколько секунд, но фактически загрузка не начинается, поскольку сервер не отвечает.
Как решить проблему 504
Точная последовательность действий для решения проблемы зависит от того, что именно привело к возникновению ошибки. Если причиной является слишком сильная нагрузка на сервер, можно попробовать предпринять следующие действия:
- Попробовать определить основные источники нагрузки на сервере. Нужно найти, какие именно запросы обрабатываются дольше всего и приводят к возникновению очереди и последующей ошибки 504, и оптимизировать эти места.
- Оптимизировать все скрипты. Желательно, чтобы загружаемые сайтом скрипты физически находились на том же сервере, что и сам сайт, или по крайней мере на физическом пространстве, находящемся под контролем владельца сайта. Если оптимизировать скрипты, настроить время их выполнения и выделить необходимые для этого серверные ресурсы, ошибка 504 перестанет возникать из-за скриптов.
- Можно пойти простым путём: просто увеличить ресурсы сервера, если есть такая возможность. Увеличение оперативной памяти, количества процессов httpd для Apache и другие меры повышения производительности приведут к тому, что серверу снова станет хватать ресурсов для выполнения запросов. Правда, подобное решение может являться лишь временной мерой, и с ростом нагрузки отсутствие должной оптимизации опять заявит о себе.
В том случае, если сайт с достаточно высокой посещаемостью (или требующий много ресурсов) располагается на обычном виртуальном хостинге, мощностей может элементарно не хватать. Некоторые хостеры присылают своим клиентам уведомления о превышении допустимой нагрузки, некоторые – нет. Следует посмотреть логи и запросить нужную информацию о технической поддержке хостинга. Вполне возможно, что с сайтом всё в порядке, просто из-за роста посещаемости пора переходить на VPS, VDS и другие тарифы и услуги с существенно большими ресурсами.
Что делать посетителю сайта при возникновении ошибки 504
Итак, вы столкнулись с появлением на экране сообщения «error 504». Не спешите уходить с сайта, ведь возникновение сбоя может говорить о неправильной работе вашего браузера или даже наличии более серьезных проблем на уровне пользовательского софта. Попробуйте произвести довольно простые действия, чтобы убедиться, что с вашим программным обеспечением и настройками все в порядке.
- Перезагрузите проблемную страницу или текущий браузер. Если проблема устранилась и не повторяется вновь, особенно при посещении других сайтов, о ней можно просто забыть. При регулярном возникновении однотипных ошибок во время посещения разных ресурсов стоит покопаться в настройках собственного ПО поглубже.
- Зайдите на тот же самый сайт, где возникла ошибка сервера 504, используя альтернативный браузер. В случае, когда страница во время тестирования открылась корректно, обновите браузер, в котором случился сбой, до последней версии.
- Проверьте, как открываются страницы этого же сайта с другого компьютера или смартфона. Это позволит вам понять, не связано ли появление ошибки 504 с ПО конкретного устройства.
- При регулярном появлении HTTP ошибок, в т.ч. с кодом 504, очистите кэш браузера, удалите файлы cookies. Со временем в любом браузере накапливается много «мусора». Произведя очистку, вы поможете программе работать более корректно и даже быстрее.
- Произведите сброс настроек роутера или модема, отключив оборудование на некоторое время от сети. Данная операция вряд ли приведет к устранению ошибки 504, но может улучшить качество интернет-соединения. Провайдеры регулярно вносят изменения в настройки собственного софта, обновляют его. Иногда это приводит к конфликту в корректном взаимодействии пользовательского оборудования и серверов оператора. Перезагрузка устройства по питанию в большинстве случаев решает такие проблемы.
- Очистите кэш DNS. Данная операция кажется сложной для обычного пользователя, но на деле выполнить ее достаточно легко. Способ очистки зависит от вашей операционной системы, найдите соответствующий мануал в интернете.
- Для опытных пользователей подойдет рекомендация временно переключить DNS-сервер на Google Public DNS , что как минимум поможет определить, возник ли ошибочный код состояния HTTP по причине DNS проблемы.
Если после проведения всех вышеозначенных рекомендаций любая ошибка, в т.ч. 504 Gateway Time Out, продолжает возникать регулярно, обратитесь в техподдержку проблемного интернет-ресурса.
Комьюнити теперь в Телеграм Подпишитесь и будьте в курсе последних IT-новостей Подписаться
Если вы владелец сайта
Как исправить ошибку 504 на виртуальном хостинге
1 способ
Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта. По умолчанию это 30 секунд, при этом среднее время загрузки сайта не должно превышать 1-3 секунды.
Если скрипты вашего сайта должны исполняться дольше 30 секунд, вы можете миновать Nginx и обратиться к сайту по другим портам. Если ваша панель управления хостингом:
- ISPManager – используйте порт 8081
- cPanel или Plesk – используйте порт 8080.
2 способ
Если этот вариант вам не подходит, рекомендуем перенести ваш сайт на Облачный сервер, на котором доступна гибкая настройка сервера, в том числе и лимитов. Для этого закажите услугу «Облачные серверы» и перенесите сайт по инструкции Как перенести сайты между услугами REG.RU.
3 способ
Также вы можете изменить директиву max_execution_time в файле php.ini. Она указывает на время, за которое должен отрабатываться скрипт. Для этого:
- 1.Откройте файл php.ini.
- 2.Укажите нужное значение в строке:max_execution_time = 30
Где 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.Подключитесь к серверу по SSH.
- Откройте конфигурационный файл с помощью команды:sudo nano /etc/nginx/nginx.conf
- Добавьте строки в блоке server:#server { #… proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; #… #}Где 600 — время в секундах.
- Перезапустите Nginx с помощью команды:service nginx reload
Если решить проблему не удалось, обратитесь в техническую поддержку или на тематические форумы по Nginx.
Ошибки похожие на 504 Gateway Time out
Ряд сообщений об ошибках аналогичен ошибке 504 Gateway Timeout, поскольку все они происходят на стороне сервера. Некоторые включают в себя ошибку 500 Internal Server («Внутренняя ошибка сервера»), ошибку 502 Bad Gateway (что это означает — «Неверный шлюз»), и ошибку 503 Service Unavailable («Сервис временно недоступен»), среди нескольких других.
Существуют также коды статуса HTTP, которые не являются серверными, а возникают на клиентской стороне. Например, часто встречающаяся ошибка 404 Not Found («Страница не найдена»).
Рекомендации по устранению ошибки 504 Gateway Time Out
Ошибка 504 Gateway Time Out может быть вызвана недавними изменениями или обновлениями на сайте. Если после отката к состоянию, предшествующему изменениям, баг исчез, следует найти конкретное действие, повлекшее возникновение ошибки. Для этого необходимо проверить журнал ошибок соответствующей CMS. Пользователи WordPress могут включить журналирование ошибок в файле wp-config.php добавлением следующих строк:
define( ‘wp_debug’, true );define( ‘wp_debug_log’, true );define( ‘wp_debug_display’, false )
Все возникающие варианты ошибок будут записаны в файле wp-contents/debug.log.
Для проверки работоспособности плагинов и расширений попробуйте отключить те, которые вызывают подозрение как источники возникновения ошибки 504. В первую очередь это касается устаревших скриптов, но причиной могут оказаться и обновления. Если проблема исчезла, далее следует найти некорректный плагин или дополнение и устранить или исправить его. Один из способов улучшения работы исполняемого скрипта – увеличить значение параметра PHP max_execution_time или облегчить скрипт.
При использовании CDN для более быстрого получения контента, в частности CloudFlare, который работает как CDN и как сервис предотвращения негативных последствий от DDoS, вы можете столкнуться с двумя типами ошибок 504. В случае возникновения проблемы на стороне CloudFlare лучшим решением будет связаться с поддержкой CloudFlare или отключить его. Второй вариант – когда сбой возникает на стороне хостинг-провайдера. В этой ситуации также необходимо обратиться в службу поддержки хостера.
Часто ошибку 504 можно видеть на серверах, где используется VPS-хостинг и установлен Nginx в качестве фронтенда и Apache в качестве бэкенда. Для устранения проблемы в Apache можно увеличить значение timeout по умолчанию в файле httpd.conf:
# Timeout: The number of seconds before receives and sends time out. Timeout 600
Также увеличить лимит в max_execution_time в php.ini:
max_execution_time 300
После внесения изменений следует перезапустить Apache. Ошибка 504 Gateway Time Out должна исчезнуть.
Аналогичным образом проблема с появлением ошибки HTTP 504 решается пользователями Nginx. Попробуйте увеличить такие параметры в файле /etc/nginx/conf.d/timeout.conf:
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
Также рекомендуется увеличить max_execution_time в php.ini:
max_execution_time 300
Далее перезапустите Nginx и откройте сайт.
Более простым решением устранения данной проблемы является использование панели управления сервером.
Данный способ позволяет администрировать настройки веб-сервера без использования консоли, один раз настроить их под ваш проект и больше не подключаться к серверу без острой необходимости.
Например, в бесплатной панели управления Vesta Control Panel достаточно внести изменения в раздел «Сервер» и навсегда забыть о возможности возникновения ошибок на сайте.
И далее внести соответствующие изменения.
Аналогичным способом проблема устраняется и при использовании альтернативных панелей управления хостингом – Ajenti, CentOS Web Panel, ISPmanager и других.
Если вы считаете, что появление 504 Gateway Timeout вызвано превышением лимита использования ресурсов серверного железа, оптимальным решением будет аренда выделенного сервера или VPS. Когда ваш сайт уже размещен на виртуальном хостинге, но ни одна из рекомендаций не привела к исправлению error 504, обратитесь к хостинг-провайдеру. В этом случае подробно опишите причины, которые, как вы полагаете, привели к появлению сбоя.
Заключение
В данном обзоре вы узнали, что обозначает 504 Gateway Time-out, каковы причины данной дисфункции, и как её исправить. Поскольку проблема обычно связана со сбоями в работе какого-либо сервера (что входит в компетенцию его веб-мастера), то, в случае обычного пользователя, будет лучше или подождать, или найти способы сообщить веб-мастеру об имеющейся проблеме. Обычно через некоторое время ситуация исправится, и вы сможете наслаждаться стабильной работой нужного ресурса на вашем ПК.
Источники
- https://LivePosts.ru/articles/hi-tech-at/informatsionnye-tehnologii/chto-znachit-oshibka-504-gateway-time-out-i-kak-reshit-problemu
- https://19216811.ru/error-504
- https://timeweb.com/ru/community/articles/chto-oznachaet-oshibka-504-gateway-time-out-i-kak-ee-ispravit
- https://help.reg.ru/support/hosting/sayt-ne-rabotayet/oshibka-504-gateway-time-out
- https://www.internet-technologies.ru/articles/oshibka-504-gateway-timeout-vremya-prohozhdeniya-cherez-shlyuz-isteklo.html
- https://it-doc.info/504-gateway-time-out-chto-znachit/
One of the most common errors that occur on a web application is the 504 gateway timeout error. 504 error is one of many HTTP response status codes in the 5xx range that prevents the server from getting data from the database.
Like most server errors, the 504 gateway error does not give details as to why the gateway timed out, thereby making it difficult to pinpoint the cause of the error.
Also, a gateway timeout error can negatively impact your WordPress sites’ SEO. For this reason, it is important to debug and fix the error as soon as you start seeing it.
In this guide, we will share a couple of ways to troubleshoot and fix this error on your WordPress site. But first, let us understand the error and the common reasons why it occurs.
Content:
- What does 504 Gateway Timeout mean?
- Common causes of the error.
- How to fix 504 gateway timeout WordPress error
- Reload the webpage.
- Restart your system and network devices.
- Flush DNS.
- Test with a different device.
- Deactivate plugins.
- Check your content delivery network.
- Check firewall settings.
- Change server configurations.
- Check error logs.
- Upgrade your hosting plan.
- Conclusion
What does 504 Gateway Timeout Mean?
504 gateway timeout is a server-side error that occurs when the server is taking a long time to load a web page.
This error occurs when 2 servers are involved in processing a request, and one server (the gateway server) times out while waiting for a response from the other (the upstream server). This means the gateway or proxy failed to receive a timely response from another server regarded as the upstream server.
The gateway is usually a server on a device (e.g. Wifi router) around you that allows you to access the internet. While the upstream server is the web host.
SEO Implications
When search engines such as google detect an error 504 timeout issue on your website, they interpret the error as an unavailable site. This may lead to search engines deindexing your page, thereby reducing your site ranking.
Also, when a user visits a site and is served the 504 bad gateway error page, it sometimes discourages the user and forces them to try out other sites with hopes to solve their query.
Variations of 504 gateway timeout
Depending on the operating system, web server, or browser, gateway errors can be presented in different formats. However, they are all referring to the gateway timeout error irrespective of the format the HTTP (Hypertext Transfer Protocol) status code is presented.
Website owners have the liberty to format how their 504 gateway timeout error is displayed. Below is a list of commonly used terms;
- 504 Gateway Timeout
- NGINX 504 Gateway Timeout
- 504 Gateway Timeout NGINX
- Gateway Timeout Error
- Error 504
- HTTP Error 504
- This page isn’t working — Domain took too long to respond
- HTTP Error 504 — Gateway Timeout
- Gateway Timeout (504)
- HTTP 504
- 504 Error
- 504 Gateway Time-out — The server didn’t respond in time
Common Causes of Gateway Timeout Error 504
The most common cause of this error is device-specific which occurs due to poor internet connection, browser compatibility issues or improper proxy settings from your PC.
Also, it can occur due to slow web server performance. If your WordPress site is using a shared hosting plan, then large requests from different sites may overload the server, leading to timeouts occurring.
504 gateway timeout can also occur if there is a faulty firewall configuration on the server. This happens when you are serving your site through a content delivery network (CDN) such as Cloudflare.
Another common cause is DNS Errors. An incorrect configuration in the public dns servers can result in the error 504 timeout page. In addition, the DNS errors can be caused by the user’ device and proxy server.
How to Fix 504 Gateway Timeout WordPress Error
The 504 error sometimes occurs due to faults from user devices. For this reason, it is important to troubleshoot user-centered causes and walk your way up to server-side causes.
Some of the fixes explained would require making changes to your site files on the host server, it is important to always back up your site before changing any file.
After backing up your site, proceed with the steps below.
Reload the web Page
As easy as this may sound, it might fix the issue. Sometimes, the webserver may be overloaded from multiple websites on the origin server.
Simply wait a few minutes then reload the page. To reload a web page, use Ctrl+R (in Windows) or cmd+R (in Mac). Alternatively, click on the reload icon at the top left side of the browser.
While you are waiting for the page to load, you may also check if the issue is from your device or a general server problem from the website. For this, you can use Down for Everyone or Just me or Is it Down Right Now? To test the website for downtime.
If the issue is from the website, then you can try contacting the website owner or wait for them to resolve the issue. If you are the site owner, then you may proceed to try out some of the server-side fixes that will be discussed below.
However, if the site is working properly ( as seen in the screenshot below), then the connectivity issues may have been caused by your networking equipment. To resolve this, you can try restarting your network devices.
Restart your System and Network Devices
Sometimes the fault can be from your home network or devices such as routers, repeaters, or modem. An easy fix is to restart your devices.
The devices can be turned off in any order, but the order in which they are turned back on matters. Typically, turning them on from the ‘outside-in’ is recommended, i.e. devices from your Internet Service Provider before system devices.
Flush DNS – Fix 504 Gateway Timeout
Using an incorrect or outdated DNS cache can result in the 504 gateway timeout WordPress error. To resolve this, you need to flush all system DNS records. Although it is relatively easy to flush DNS, the procedure differs depending on your operating system.
To flush DNS on Windows Operating System, Open Command prompt (cmd).
Now, paste the code below and then hit the enter key to effect the change.
You should get a result similar to the code below.
For Mac OSX operating systems, you can flush DNS with the steps below.
Open terminal and then paste the code below.
sudo killall -HUP mDNSResponder
If you are on a Linux environment, then open a terminal window and paste the code below
sudo/etc/init.d/nscd restart
The DNS issues can also occur from the server-side. It occurs when you recently changed your DNS records. In this case, all you have to do is wait for the DNS to propagate properly which takes up to 24 hours in some cases.
Test with a Different Device
If the issue is device-specific, try loading the website from another device, or on another network. You may even try it on your phone to ascertain the root cause of the issue.
If it is still not accessible, then the error is likely from the server.
Deactivate Plugins
Installing a new plugin or updating older plugins can also tamper with your site configurations, leading to the error 504. Deactivating plugins can fix the error in some cases.
If you can access your WordPress site admin dashboard, click on the plugins tab.
Now, tick the box to select all plugins as seen below.
Then, click on bulk action, a dropdown will appear, select Deactivate and then click on Apply to deactivate all plugins.
If this fixes the error for your website, great job. Begin activating all plugins one at a time, once you identify the faulty plugin (the plugin you activated before the error occurs again), delete permanently from your site.
However, if the error is preventing you from accessing your WordPress site admin dashboard, then you can disable the plugins via FTP.
Please read this guide to learn how to disable all plugins using FTP.
Check your Content Delivery Network (CDN)
If you are serving your site through a CDN, it sometimes runs into a 504 timeout error if the requests on the CDN’s servers are much or due to an improper server configuration.
One of the most common content delivery networks is Cloudflare. Luckily, Cloudflare can help specify whether the error is from their servers or your host server.
A Cloudflare specific error screen is similar to the one in the image below. If this is the error page you are seeing on your website, then it is most likely a Cloudflare specific error, which their engineers might be working on already.
A temporal fix for this error would be to change your DNS server settings and then deactivate the CDN completely from your site while they are still working on it from their end.
Another version of this error occurs when the issue is from your host server. The error page is similar to the one shown in the image below.
At this point, you could opt to notify your hosting provider or check your server’s firewall configuration.
Check Firewall Settings
If you are serving your site through a content delivery network, your WordPress host server sometimes flags large requests from the CDN, which can lead to an error 504 gateway timeout.
To fix this, you will need to whitelist all IP addresses from the CDN your site is using. For cloudflare users, here’s a list of cloudflare ip ranges.
You can whitelist an IP address in the .htaccess file on your host server. To do this, follow the steps below;
Connect your site to an FTP client, then navigate to the root directory containing your website’s files.
Now, double click on the .htaccess file to download a backup of the file.
After that, right click on the .htaccess file and select View/Edit.
Now, paste the following code snippet on the file.
Require all granted
Require ip 127.0.0.1
</RequireAny>
Replace 127.0.0.1 with the IP address you wish to whitelist.
To whitelist multiple IP addresses, enter a new line and then add the Require ip 127.0.0.1 command and replace with the correct IP. Repeat this until all IPs are whitelisted.
Change Server Configurations
This step works if you are using VPS hosting and have SSH access. If you are on a shared hosting plan, then simply reach out to your hosting providers for further guidance.
If your VPS hosting utilizes Apache, then you can SSH into the httpd.conf file and increase the default timeout value. Add the code below to the file to increase the timeout.
# Timeout: The number of seconds before receives and sends time out.
Timeout 600
Another popular VPS platform is Nginx. If your VPS uses Nginx, then you can edit the timeout.conf file located at /etc/nginx/conf.d/timeout.conf
Add the following code to the file.
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
Check Error Logs – Fix 504 Gateway Timeout
Log files help debug errors that occur on a website. They provide details as to what went wrong on a site with reasons for the error.
By default, WordPress logs are turned off in the wp-config file. Turning it on is fairly easy.
You will need to access your WordPress site files via an FTP client or through cPanel. For this guide, we will be using FileZilla FTP client. Here’s a detailed guide on how to use FTP.
How to Check Error Logs
Firstly, connect your site to an FTP client. On the right, you will find the remote site files.
Now, navigate to the directory containing your website files (usually the public_html directory).
After that, right click on the wp-config file, then select view/edit to modify the contents of the file.
Now, locate the line containing the WP_DEBUG settings and then replace the line with the code snippets below.
define( ‘WP_DEBUG_LOG’, true);
Afterwards, save the changes on the file. The WP_DEBUG_LOG settings creates a debug.log file containing a list of all the errors that occurred when you tried to load your website.
The file is located in the wp-content directory on your server. To access it, double click on the wp-content folder.
Now, double click on the debug.log file to download to your local machine and then open the file to see all the error logs.
The error messages can help you pinpoint the cause of the error, thereby speeding up the troubleshooting process.
After troubleshooting your site in debug mode, delete the WP_DEBUG_LOG line of code and then revert the WP_DEBUG settings to false.
Meanwhile, you may also refer to the default server logs for more information about the error.
If your WordPress site uses Apache, you can find the file in the location below.
/var/log/apache2/error.log/
For sites hosted on Nginx server, the log file can be found in this location.
/var/log/nginx/error.log/
Upgrade your Hosting Plan
As your WordPress site traffic begins to grow, the need to upgrade your sites’ hosting becomes paramount due to the increase in requests per second on the server.
Also, if you are on a shared hosting plan and one of the websites on the server begins to grow exponentially. Then, the increase in traffic can affect your site if the server is receiving more requests than it can handle at a time.
To fix this error, you need to contact our WordPress experts to solve the issue, and possibly migrate your site to a managed WordPress host server. Or you can contact your hosting provider to assist with the upgrade.
Conclusion – 504 Gateway Timeout
In this article, we offered a detailed guide to help you understand the 504 gateway timeout error, it’s common causes, as well as steps to take to troubleshoot and fix this error.
However, if you are still experiencing the error 504 after applying the tips in the guide above, you may have to reach out to us so our WordPress experts help you fix the error.
Recommended articles
- White Screen of Death in WordPress
- MySQL Server Has Gone Away Error
- Best 6 WooCommerce Payment Gateways for Your WordPress Site
Read More Useful Articles:
504 gateway timeout error is an HTTP status code, a type of report code that a server sends back in answer to an incoming request when it has been unable to complete a request. You surely have encountered this error before while browsing, although this one is not as common as other 5xx series errors such as “500 internal server error” or “502 bad gateway error.” In this guide, we explain what this error means and how you can fix it in WordPress.
When a user visits your website, they generate and send HTTP requests to your WordPress web server that runs your website. For each received request, your server sends back an HTTP status code with the requested resources from your website. The user does not usually see this unless something fails to work, and then they will see an error code, an HTTP status code that gives a hint as to what did go wrong.
Start Blogging
Self-host your WordPress on top-tier hardware, featuring NVMe storage and minimal latency around the world — choose your favorite distro.
Get WordPress VPS
What is 504 Gateway Timeout Error?
This is a 5xx series status code. The “5” series are server-side errors, which means the problem is for the administrator to solve. There are about a handful of error codes, and each has different solutions (for example, see our quick-fix guide to HTTP error 505). As you may know, an error may happen anywhere along with the connection, in the user’s browser, in their internet connection, anywhere on the way between, or at your server. When it happens outside the scope of the user, it is a server-side error. It appears when a request fails to complete because of miscommunication between several servers.
There are several ways that this error may appear to the user (or to you, when you are browsing the internet.) For instance:
- 504 Gateway Timeout
- 504 Gateway Timeout nginx
- Gateway Timeout Error
- HTTP Error 504
- 504 Gateway Time-out – The server didn’t respond in time
- This page isn’t working — Domain took too long to respond
- HTTP Error 504 – Gateway Timeout
- Gateway Timeout (504)
- HTTP 504
- 504 Error
But what does it mean?
What Causes 504 Error?
504 Gateway Timeout error is shown when a server does not receive a timely response from another server that acts as a gateway or proxy between your user and your website. Simply put, means that a request was sent to your website, but the time ran out of waiting for a response.
Some of the most common causes for this error are connectivity problems:
- Poor internet connection on the user’s side, leading to miscommunication and therefore not receiving an answer.
- Browser compatibility issues, once again causing miscommunication and timing out on a response.
- Improper proxy settings, which basically block the request from reaching the server, therefore not receiving an answer.
However, it is possible that there is actually a problem on the server’s side. If you are using a weak device or server for hosting your WordPress website, your server might run out of resources to answer requests in time, especially in peak traffic. This causes slow web performance leading to timing out on responses.
In a similar case, if you are using a shared hosting plan, it is enough for only one or two of the websites hosted on the shared server to hit peak traffic to slow down every single website running on that server. The reason for that is, as the name suggests, on shared hosting all the resources are shared among all the clients at the same time. That is unlike VPS where you get dedicated resources all to yourself. That is actually the biggest reason for opting out for WordPress VPS rather than shared hosting.
504 gateway timeout error can also happen when there is a mistake in firewall configuration on your server. This happens a lot, especially when using a Content Delivery Network or CDN for serving your content faster to the user. A CDN is a network of proxy servers that stand between your web server and your user, and try to serve the most highly requested static data on your server to the user from a closer point in the network, thus reducing both their latency and the load on your web server. But your firewall may be blocking some of the requests that come through by means of that CDN network, like Cloudflare.
Another common cause of 504 error is DNS Error. If you configure your DNS settings incorrectly, or there is a mistake on the public DNS server concerning your website, users’ requests might not reach you because they are unable to find your server, thus a timeout error. This can also happen due to incorrect DNS settings on the user’s part, or their proxy server.
Start Blogging
Self-host your WordPress on top-tier hardware, featuring NVMe storage and minimal latency around the world — choose your favorite distro.
Get WordPress VPS
How to Fix 504 Gateway Timeout Error?
As we said before, although 504 is classified as a server-side error, there is a chance that some users encounter this error due to faults on their own side. What you can do when a 504 is reported on your website, is to try and trace the possible cause from user-side slowly to server-side.
Before getting into ways for fixing this error on your WordPress website, remember that some of these methods require making changes to your server files and server settings, so it is highly recommended to first make a proper backup of your website and anything that you might change.
1. Refresh or reload the page
Make sure there is actually a problem and it was not just a passing error. Sometimes the server is just overloaded for a moment, and refreshing the webpage will load it properly. Just wait a couple of minutes and then hit the refresh button, or press Ctrl+R (in Windows) or cmd+R (in Mac).
2. Try a different browser.
Sometimes the problem is from the specific browser you are using. Try a different one and see if the error persists.
3. Check different locations.
While waiting a couple of minutes to refresh the page, you can check to see if the issue is from your device or server-side, from the website. There are various services you can use to check on your website from different locations. You can test the website with Down for Everyone or Just me or Is it Down Right Now?
If the issue is user-side, there may be a problem with the user’s browser, internet settings, firewall, proxy, or connectivity. Sometimes restarting the device or the network devices solves the problem for the user.
4. Flush DNS
Sometimes 504 gateway timeout error can be due to an incorrect or outdated DNS cache, but clearing it is easy. Although, depending on your operating system, the way of doing it may differ.
To flush all DNS records on your system in Windows OS, open Command prompt (cmd), then enter the code below and hit the enter key for it to run:
ipconfig /flushdns
After the command is run, you should see a result line like in this picture:
If you are using Mac OSX operating system, to flush your system’s DNS records open the terminal and enter the code below:
sudo killall -HUP mDNSResponder
If you are on a Linux system, you can open a terminal window and enter the code below:
sudo/etc/init.d/nscd restart
This is flushing the DNS on the user-side. If the problem is on the server-side the steps so far are unlikely to solve the issue. It is time to try and fix the problem on your WordPress server.
5. DNS Problems
If you have recently made changes to your DNS settings on your web server, there is a chance that those changes will take up to 24 hours to take effect everywhere on the internet. In the meanwhile, users trying to connect from certain networks will fail to find and connect to your website.
You can temporarily switch the DNS server to Google Public DNS to see if the HTTP status code appears as a result of a DNS problem. However, it is recommended for more advanced users.
Start Blogging
Self-host your WordPress on top-tier hardware, featuring NVMe storage and minimal latency around the world — choose your favorite distro.
Get WordPress VPS
6. Check Error Log
504 gateway timeout error may also occur as a result of recent website changes or updates. A quick way to find out is by checking the error log and see if you can find the culprit. In your WordPress website you can enable error message logging by adding these lines to the wp-config.php file:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Once done, all generated logs will be recorded in the wp-contents/debug.log file.
7. Check your Plugins.
It is common for a faulty plugin to be the cause of the 504 timeout error. Outdated or incompatible plugins and extensions can cause different problems and errors in WordPress. In this case, a plugin related to caching may be at fault. The problem is you don’t normally which one is the culprit.
To find if any of your WordPress plugins is causing the 504 gateway timeout error, you need to deactivate all your WordPress plugins and then reactivate them one by one to see which one can cause the 504 timeout issue.
Go to your WP admin dashboard, and click on the plugins tab. Here, check the box in front of “Plugins” to select all your plugins, then from the “bulk action” menu, select deactivate and click apply.
If deactivating all your plugins solves the issue, then you know one of your plugins may have caused it. Start reactivating the plugins one by one and check if the issue returns after reactivating any of them. When you found the plugin at fault, disable or delete the plugin to solve the problem, and return the other plugins to their previous state.
8. Check your Content Delivery Network (CDN)
If you are using a CDN to deliver your website content faster, you need to check if all is ok on that side as well. Cloudflare is one the most commonly used CDN solutions for small to medium websites, acting both as a CDN and Cloud Security system mitigation DDoS attacks.
The above version of the 504 error appears when something has gone wrong on Cloudflare’s side. You could contact Cloudflare support or disable it entirely. If you opt for disabling it, the changes to DNS records may take a few hours to take effect.
However, it is more common to see the 504 error as shown below. This mode means that Cloudflare CDN cannot receive an answer from your web server.
9. Check Firewall Settings
Setting your firewall properly is very important in how your website works and answers requests. Especially when you are using a CDN to serve your content, since many requests come from the same CDN nodes, your firewall may flag it as unwanted traffic and block the requests.
To fix this, you will need to whitelist all IP addresses from your CDN on your website’s firewall system. Generally, you can find a list of the CDN’s IP addresses on their website.
You can whitelist an IP address in the .htaccess file on your server. Follow these steps in order to do that:
- Connect to your web server using an FTP client such as FileZilla, then move to the root directory containing your website’s files.
- Double-click the .htaccess file to download a backup of it.
- Then right-click on the .htaccess file on the server and select View/Edit.
Now copy and paste the following bit of code into the file:
<RequireAny> Require all granted Require ip 127.0.0.1 </RequireAny>
Replace the 127.0.0.1 address with the IP address you wish to whitelist. For each of the IP addresses you want to whitelist, copy, and paste this one line under the previous one and then change the IP address to what you want.
10. Change Server Configurations
If you are using WordPress VPS hosting for your website, there are a couple of things you can try to fix the 504 gateway timeout error. They would involve tweaking some server settings and configurations and increasing specific resource limits. But as always, remember to first backup everything.
For this method, you need to have SSH access to your VPS. If the webserver running on your VPS is Apache, you can connect through SSH into httpd.conf file and increase the default timeout value. Add the following code to the file:
# Timeout: The number of seconds before receives and sends time out. Timeout 600
Another popular web engine is Nginx. If you are using Nginx, you can edit the timeout.conf file located at /etc/nginx/conf.d/timeout.conf
Add the bit of code below to the file:
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
11. Upgrade your Hosting Plan
If you are running a successful WordPress website with increasing traffic, it is inevitable to run short on server resources at one point, which can lead to 504 timeout errors for users. It is recommended to upgrade your hosting plan in accordance with your website’s traffic.
Start Blogging
Self-host your WordPress on top-tier hardware, featuring NVMe storage and minimal latency around the world — choose your favorite distro.
Get WordPress VPS
Conclusion
504 Gateway Timeout error is a server-side error, but it basically means that the user cannot reach or receive an answer from the server, so this may be happening anywhere from the user’s browser and an internet connection to your own website server.
To find out and fix the problem, you need to check the issue step by step to see what solves the problem, and then make a fix to permanently solve the issue. If none of these steps solved the 504 error for your website, it’s best to contact the customer care of your hosting company and ask them for help.
Чтобы на веб-странице появился контент, браузер должен получить от сервера, на котором расположен сайт, необходимые данные. Когда на устройстве пользователя, на веб-сервере или на другом промежуточном узле (например, прокси) возникают неполадки, вместо содержимого сайта в браузере появляется страница с ошибкой. Для устранения сбоя, необходимо знать, на чьей стороне он произошел и по какой причине. Понять, что является источником проблемы, помогает цифровой код ошибки. Если он имеет формат 5xx, значит, сбой происходит на стороне сервера. Разбираем в статье ошибку 504 на сайте и способы ее устранения.
Что значит ошибка 504 и когда она появляется
Ошибка 504 Gateway Time Out — это ошибка, возникающая при загрузке сайта, если запрос пользователя передавался на сервер, хранящий данные веб-ресурса, через промежуточный сервер, действующий как шлюз или прокси, и в процессе обработки данного запроса один из серверов не получил ответ от другого в течение максимально допустимого времени ожидания. Обмен данными происходит по HTTP, и если возникает «тайм-аут шлюза», браузер показывает на веб-странице код 504, указывающий на соответствующее состояние протокола.
На выполнение некоторых операций на сервере выделяется определенное количество времени. Например, обработка 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». Порядок действий:
- Подключение к серверу по Secure Shell (протоколу для удаленного управления операционной системой).
- Ввод команды «sudo nano/etc/nginx/nginx.conf» для запуска файла.
-
Редактирование блока server: увеличение времени до наступления тайм-аута с 300 секунд до 600:
- Перезагрузка веб-сервера командой «service nginx reload».
Коррекцию файлов «php.ini» и «nginx.conf» лучше проводить совместно. В обоих документах необходимо указать одинаковое время обработки запроса.
При использовании Apache время обработки запроса редактируется через «httpd.conf». Что необходимо сделать:
- Открыть файл.
-
Ввести строку:
- Сохранить корректировки и заново запустить сервер.
Проблемы с CDN
CDN ― это несколько связанных серверов, предназначенных для того, чтобы ускорить передачу данных сайта его пользователям. CDN сохраняют контент, часто запрашиваемый аудиторией, на кеш-сервере. При повторном запросе этих данных сервер достает их из временной памяти. Таким образом, снижается нагрузка на сервер, являющийся источником контента, и сокращается время обработки запросов пользователей.
Иногда ошибка 504 может возникать при использовании CDN. Если после отключения от системы работоспособность сайта восстановится, сообщите о проблеме разработчикам сервиса.
Выросла нагрузка на один из серверов
К повышенной нагрузке на сервер может привести резкий рост трафика. Наплыв пользователей может быть связан как с намеренными действиями владельца веб-ресурса — с запуском рекламной кампании, так и со случайными событиями — временным увеличением спроса на сезонный товар, продающийся в интернет-магазине. Поскольку количество операций, которое сервер может выполнять одновременно, ограничено его вычислительной мощностью, при избыточной нагрузке хостинг-компьютер перестает отвечать на запросы пользователей. Чтобы он снова мог отдавать данные браузеру, достаточно арендовать компьютер с более мощным железом, например, с виртуального хостинга перейти на VPS. Если планируется проведение маркетинговых мероприятий, лучше заранее арендовать дополнительные вычислительные ресурсы (оперативную память, место на жестком диске и т. д.).
В компании «Интернет Хостинг Центр» клиенты могут арендовать VPS сервер в России с бесплатной защитой от DDoS на всех тарифах. Выделенный IP и техподдержка входят в стоимость.
Проверка службы DNS
Сообщение «Error 504 — Gateway Timeout» может появиться, если DNS-служба не справилась с преобразованием доменного имени в IP-адрес. Причиной ошибки становится перенос веб-ресурса с локального ПК на веб-сервер и автоматически пропадет, после того как новые DNS-данные распространяются по всему Интернету. Процесс занимает около двух суток.
Проблемы с DNS могут возникнуть на компьютере пользователя. Для их устранения на ПК вызывается командная строка операционной системы, где вводится специальная команда для очистки DNS-кэша, в Windows — это «ipconfig /flushdns».
Спам, вирусы и DDoS-атаки
Перегрузка сервера может быть вызвана не только возросшим интересом пользователей к вашим товарам и услугам, но и менее позитивными причинами — спамом, вирусами и DDoS-атаками. Для защиты веб-ресурса от вредоносных программ и действий хакеров, необходимо предпринять несколько профилактических мер:
- проверить наличие антивируса в административной панели хостинга;
- включить защиту от DDoS;
- подключить анти-спам плагины в CMS сайта;
- проверить лог-файлы на наличие часто повторяющихся IP-адресов;
- установить SSL/TLS;
- защитить формы обратной связи с помощью капчи;
- предотвратить публикацию комментариев со ссылками на вредоносное ПО, подключив модерирование контента и так далее.
Проблемы с плагинами в CMS
Функции на сайте, созданном с помощью CMS, реализуются благодаря плагинам. Не все они работают достаточно быстро, некоторые из них обрабатываются медленно, что приводит к тайм-ауту шлюза. Чтобы проверить, не является ли установленный плагин причиной сбоя, его необходимо отключить, а затем запустить сайт без него. Если веб-ресурс загрузится, значит, нужно выбрать другой функциональный модуль.
Как решить проблему, если вы — пользователь
Неполадки могут возникнуть на стороне пользователя: в его DNS-службе, браузере, программном обеспечении, роутере или модеме. Убедитесь, что настройки ваших устройств, выставлены правильно:
- обновите страницу, заново указав URL в адресной строке и нажав кнопку ввода (Enter);
- откройте сайт в другом браузере, если в нем сбой не повторится, обновите браузер с ошибкой до последней версии;
- запустите веб-ресурс на другом устройстве, чтобы проверить, не связаны ли проблемы с программным обеспечением вашего компьютера;
- очистите файлы кэша и cookies, чтобы избавиться от ошибок, накопленных браузером за длительное время использования;
- перезагрузите роутер, чтобы устранить конфликт между обновленным ПО провайдера и вашим устройством;
- очистите кэш DNS через командную строку ОС.
Заключение
Мы разобрали самые популярные причины возникновения ошибки 504 и привели способы решения каждой из них. Надеемся, что наша статья поможет Вам справиться с любой проблемой, способной привести к тайм-ауту шлюза.
В этой статье описаны причины возникновения ошибки 504 Gateway Timeout (time out).
Часто ошибку можно видеть на серверах, где установлен nginx в качестве фронтенда и Apache в качестве бэкенда. И многие думают, что проблема в nginx. Это не так.
504 Gateway Timeout — значит, что клиентский запрос nginx передал апачу, а апач не смог в установленный лимит времени вернуть HTTP-ответ. Немного подробнее о взаимоотношениях nginx’а и апача в статье про 502 Bad Gateway.
Почему Apache не смог ответить?
Скорее всего дело в возросшей нагрузке на сайт, при которой Apache не успевает отдавать HTTP-ответы, и новые запросы встают в очередь. Клиенты «висят» в очереди, но за приемлемое время их так и не успевают обслужить, поэтому соединения сбрасываются.
Чтобы решить проблему, можно добавить ресурсов серверу, в частности оперативной памяти, и увеличить количество процессов httpd (Apache). Другой вариант — оптимизировать работу скриптов сайта, чтобы они выполнялись быстрее. Если вы на обычном виртуальном хостинге, то без усилий администрации ситуация не улучшится. Если проблема не решается, надо искать другого провайдера.
Другая возможная причина возникновения ошибки 504 — исполняемый скрипт не укладывается в отведенный лимит времени. Это бывает, когда скрипт обращается к другим сайтам, либо просто выполняет тяжелую операцию, например, строит поисковый индекс.
Варианты решения: увеличить значение параметра PHP max_execution_time или облегчить скрипт.
Критические замечания к статье приветствуются.
Смотрите также
- Ошибка 502 Bad Gateway nginx. Как исправить
- В какой лог пишутся 502-ые ошибки?
- Как настроить VPS?
- Ошибка 502 каждые 15 минут
- Как забанить диапазон ip?
- Ошибка 504 ― что значит
- Как устранить код ошибки 504 Gateway Time Out владельцу сайта
- Долго обрабатывается скрипт
- Проблемы с CDN
- Выросла нагрузка на один из серверов
- Проблемы с сайтами на WordPress
- Что может сделать пользователь
Любой код ошибки, который начинается на цифру 5, говорит о том, что проблема возникла на стороне сервера. В этой статье мы рассмотрим ошибку 504 Gateway Time Out: откуда она появляется и как её исправить.
Ошибка 504 ― что значит
Ошибка 504 Gateway Time Out говорит о том, что в обработке запроса участвовало несколько серверов. Для выполнения запроса один из серверов должен был получить ответ от другого, но не получил его в течение максимально допустимого времени ожидания.
Также вы можете встретить другие варианты отображения ошибки:
- HTTP Error 504,
- Gateway Timeout Error,
- HTTP Error 504 – Gateway Timeout,
- 504 Gateway Timeout nginx,
- Ошибка 504 Время ответа сервера истекло,
- Время ожидания шлюза (504),
- Ошибка тайм-аута шлюза.
Что такое тайм-аут шлюза
Дизайн и текст страницы с 504 ошибкой может отличаться в зависимости от операционной системы на сервере, панели управления хостинга и веб-сервера, браузера, CMS. Каждый владелец сайта может создать собственную страницу ошибки 504, которая будет дублировать внешний вид и интерфейс сайта.
Как устранить код ошибки 504 Gateway Time Out владельцу сайта
Самые частые причины этой ошибки:
- слишком долго выполняется скрипт,
- CDN не может связаться с основным сервером,
- неожиданно выросла нагрузка на один из серверов.
Все эти причины может устранить только владелец сайта.
Долго обрабатывается скрипт
Конечно, лучше всего облегчить тяжёлый скрипт. Так он не будет нагружать сервер и вызывать ошибку. Однако не всегда есть возможность заменить его. В таком случае можно увеличить время ожидания сервера, чтобы весь скрипт успевал обрабатываться. По умолчанию максимальное время выполнения скрипта ― 30 секунд. Увеличить это время можно через PHP, настройки Nginx и Apache.
PHP
Изменить время обработки запроса можно в директиве max_execution_time в файле php.ini. Чтобы изменить это время:
- Откройте файл php.ini.
- Добавьте строку:
max_execution_time = 60
Где 60 – время выполнения запроса в секундах.
Nginx
Если вы используете Nginx, настройки времени обработки скрипта делаются в файле nginx.conf.
1. Перейдите в файл nginx.conf. Для этого введите команду:
sudo nano /etc/nginx/nginx.conf
2. Введите строки:
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
Где 600 – время выполнения скрипта в секундах.
3. Перезапустите Nginx с помощью команды:
service nginx reload
Обратите внимание! Если вы меняете время обработки запроса в Nginx, рекомендуем увеличить и max_execution_time в php.ini. В параметрах укажите то же количество секунд, что и указали в nginx.conf.
Apache
Если вы используете Apache, увеличить время обработки запроса можно в файле httpd.conf. Для этого:
1. Перейдите в файл httpd.conf.
2. Введите:
# Timeout: The number of seconds before receives and sends time out.
Timeout 600
Где 600 – время выполнения скрипта в секундах.
3. Сохраните изменения и перезапустите Apache.
Проблемы с CDN
CDN ― это множество связанных серверов, которые ускоряют передачу данных (фото, видео, скриптов) пользователю. CDN-серверы размещают как можно ближе к аудитории.
CDN находит популярный контент и сохраняет его на кэш-серверы. Серверы накапливают, временно хранят популярные данные и отдают их при последующих запросах. CDN позволяет ускорить загрузку сайта и снижает нагрузку на сервер-источник.
Если вы пользуетесь CDN и на вашем сайте 504-я ошибка, попробуйте отключиться от системы. Если сайт заработал, нужно обращаться в техническую поддержку сервиса, чтобы предупредить их о проблеме.
Также вместе с CDN часто используют прокси-сервер Cloudflare или Sucuri. Ошибка может появиться из-за них. Для её решения нужно обратиться в техподдержку сервиса.
Выросла нагрузка на один из серверов
Причин, почему возросла нагрузка на сервер, может быть три:
- Повысился спрос на ваш товар. Это позитивная причина. Возможно, скоро праздники и все закупаются подарками, а ваш продукт пользуется спросом. Также посетителей может привлечь рекламная кампания. Для решения такой проблемы достаточно приобрести тариф хостинга или VPS с большей мощностью. Тогда сервер сможет принять большой поток клиентов.
- На вас была сделана DDoS-атака. Ваши недоброжелатели могут искусственно создать большой поток посетителей и вывести сайт из строя. На хостинге и VPS от 2DOMAINS есть встроенная защита от DDoS-атак.
- На сервере появился вирус. Вирусы могут нарушать работу сервера, перегружая его. Проверьте ваш сайт на вирусы. Если найдёте, удалите их и проверьте работоспособность сайта.
Проблемы с сайтами на WordPress
В WordPress причиной ответа 504 могут быть плагины, которые работают с кэшированием. Также виновниками могут быть старые или несовместимые плагины. Попробуйте по очереди деактивировать плагины и проверять работоспособность сайта. Если сайт заработал при выключении одного плагина, удалите его.
Что может сделать пользователь
- Перезагрузите страницу. Если ошибка появилась из-за перегрузки сервера, вы можете подождать и зайти на сайт, когда наплыв посетителей закончится. Если ошибка связана с настройкой сервера, подождите, пока владелец не починит сайт.
- Откройте сайт на другом браузере. Неисправные или старые версии браузеров могут показывать разные ошибки, в том числе и 504-ю. Попробуйте открыть веб-ресурс на любом другом браузере. Если сайт заработает, проверьте обновление основного браузера или переустановите его.
- Откройте сайт на другом устройстве. Если проблема в самом устройстве, можно попробовать открыть сайт на смартфоне или другом ПК. Если сайт работает, проверьте корректность работы устройства и драйверов.
- Перезагрузите сетевые устройства. Временные проблемы с вашим модемом, маршрутизатором или другим сетевым оборудованием могут вызвать проблему 504 Gateway Timeout. Перезагрузка этих устройств может помочь.
- Очистите кэш браузера. Если вы часто встречаете разного рода ошибки на сайтах, возможно, проблема в переполненном кэше браузера. Со временем в любом браузере накапливается много «мусора», который нужно удалять. Очистить кеш вам помогут инструкции:
- Как очистить кэш браузера,
- Как очистить кэш браузера Safari.
6. Обратитесь к интернет-провайдеру. Если проблема наблюдается на всех устройствах и браузерах, подключённых к общей сети, проблема может быть на стороне интернет-провайдера. Обратитесь в техническую поддержку компании, которая предоставляет вам услуги интернета.
Если все эти действия не дали результата, значит, проблема на стороне владельца сайта и нужно подождать, когда он устранит поломку.