Ошибка 504 Gateway Time Out
- Ошибка 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. Перезагрузка этих устройств может помочь.
- Очистите кэш браузера. Если вы часто встречаете разного рода ошибки на сайтах, возможно, проблема в переполненном кэше браузера. Со временем в любом браузере накапливается много «мусора», который нужно удалять. Очистить кеш вам помогут инструкции:
6. Обратитесь к интернет-провайдеру. Если проблема наблюдается на всех устройствах и браузерах, подключённых к общей сети, проблема может быть на стороне интернет-провайдера. Обратитесь в техническую поддержку компании, которая предоставляет вам услуги интернета.
Если все эти действия не дали результата, значит, проблема на стороне владельца сайта и нужно подождать, когда он устранит поломку.