Ошибка 504 — что значит и как исправить?
Содержание:
- Причины возникновения 504 ошибки сервера
· Чем вредна ошибка 504 - Как исправить 504 ошибку сервера?
· Что делать пользователю при появлении ошибки 504 в браузере
· Ошибка 504 как исправить владельцу сайта/сервера
Ошибка 504 — это HTTP-код состояния, как и любой другой, начинающийся на 5хх, указывающий, что на стороне сервера есть проблема. Она возникает в случае, если сервер, работающий в качестве прокси или шлюза, не получил в установленный временной промежуток ответ от вышестоящего сервера, к которому он обратился. Проблема появляется, если сервер, к которому отправлен запрос, не успевает его обработать. Например, если вы пытаетесь загрузить слишком большое фото и сервер не смог его обработать в установленное время, или СУБД не сможет выполнить слишком сложный запрос к базе данных, возникнет код 504.
Ошибка 504 описана в RFC — документе со спецификациями, публикуемом и поддерживаемым IETF. В RFC публикуются спецификации и стандарты, широко применяемые в интернете.
504-ошибка появляется не только в браузере. Может иметь место в приложениях, обращающихся в процессе работы к какому-то серверу, в играх и прочих программах.
Причины возникновения 504 ошибки сервера
Причин, по которым появляется код ошибки 504, несколько. Она может быть вызвана:
- Резким скачком нагрузки на сайт (сервер, к которому обращается приложение). Нагрузка в свою очередь растет по разным причинам: от наплыва пользователей в дни проведения распродаж или проведения акций, до DDoS-атаки, организованной конкурентами.
- Превышение лимитов выделенных ресурсов. Ситуация возникает, например, когда при размещении сайта на хостинге возможности последнего не совпадают с потребностями CMS и плагинов. Не хватает оперативной памяти сервера — пользователь видит ошибку 504 в браузере, превышен объем потребления процессорных минут — получите такую же картину.
- Некорректно работающие плагины, скрипты и другие компоненты. Здесь возможно 2 сценария: перегрузка сервера этими компонентами либо проблемы на стороне сторонних ресурсов, с которых эти плагины/скрипты загружают информацию.
- Повреждение базы данных. Ошибка 504 иногда возникает в WordPress при обращении к поврежденной БД.
Вероятность появления такой ошибки возрастает в случае использования связки Nginx для фронтенда и Apache для бэкенда. Также подобные проблемы часто возникают при использовании proxy или сетей CDN из-за перегрузки серверов.
Чем вредна ошибка 504?
При появлении кода серверной ошибки 504 пользователь, пытающийся зайти на сайт, видит страницу с информационным сообщением. Его вид может быть разным. Вот несколько вариантов:
1. Ошибка 504 Время ответа сервера истекло.
2. HTTP Error 504 – Gateway Timeout.
3. 504 Gateway Timeout nginx.
4. HTTP Error 504.
5. Ошибка тайм-аута шлюза.
6. Gateway Timeout Error.
Увидев такое сообщение, посетитель может просто уйти с сайта. А это, в свою очередь, оказывает влияние на поведенческие факторы и может отрицательно сказаться на SEO-продвижении. Если при заходе поисковым роботом постоянно будут возникать HTTP Error 504, это тоже не лучшим образом будет сказываться на SEO-параметрах. Поэтому такую ошибку необходимо устранять.
Как исправить 504 ошибку сервера?
Несмотря на то, что возникает ошибка HTTP Error 504 на стороне сервера, попытаться исправить ее можно и с пользовательской стороны.
Что делать пользователю при появлении ошибки 504 в браузере?
В таком случае попытайтесь:
1. Обновить страницу. Возможно, ваш запрос не обработан с первого раза (из-за большой нагрузки на сервер или по другой причине) и обработается при следующей попытке. Для обновления поставьте курсор в адресную строку и нажмите Enter, вариант через F5 (fn+F5) может не сработать.
2. Очистите кэш браузера и cookie.
3. Попробуйте зайти на страницу через другой браузер.
4. Перезагрузите модем и роутер.
5. Попробуйте зайти на страницы с другого устройства, подключенного к той же сети. Если не получается, дело может быть в DNS-серверах. Есть смысл поменять их.
6. Очистите кэш DNS.
7. Попробуйте зайти на страницу через другого провайдера (например, через мобильный интернет, или раздав его через смартфон). В некоторых случаях ошибка 504 проявляется из-за проблем на стороне провайдера.
Ошибка 504 как исправить владельцу сайта/сервера?
Если у вас «тяжелые» скрипты, для исполнения которых требуется более 30 секунд и при этом на хостинге для фронтенда используется Nginx, можно попытаться обойти его. Для этого нужно поменять порты для обращения к сайту по умолчанию: на 8081 для ISPManager и на 8080 для Plesk либо cPanel.
Также можно изменить максимальное время исполнения скриптов в файле php.ini на хостинге. Для этого нужно установить значение в строке max_execution_time.
Если у вас на VPS Nginx используется как proxy-сервер для Apache, ошибка 504 может появляться из-за превышения установленного времени при проксировании. Его следует изменить. Для этого требуется подключиться к серверу по SSH, открыть конфигурационный файл через командную строку (используется команда sudo nano /etc/nginx/nginx.conf) и добавить в блок server строки, при помощи которых устанавливаются временные промежутки при проксировании. Они выглядят следующим образом (можно скопировать и вставить):
- proxy_connect_timeout 600;
- proxy_send_timeout 600;
- proxy_read_timeout 600;
- send_timeout 600;
Можно попробовать еще один вариант перед рассмотренными выше — запросить в тех. поддержке добавление вычислительных мощностей для VPS (хостинга). У нас в GMHOST это делается быстро, без перезагрузки сервера.
Если вы используете DNS, дело может быть в ней. При регулярном появлении ошибки 504 следует обратиться к поставщику услуг для проверки параметров кэширующих серверов.
Остались вопросы или хотите протестировать наши услуги?
Просто свяжитесь с нашим менеджером