Ошибка 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 следует обратиться к поставщику услуг для проверки параметров кэширующих серверов.

Ошибка 504 — что значит и как исправить?
Назад

Остались вопросы или хотите протестировать наши услуги?

Просто свяжитесь с нашим менеджером

Связаться с менеджером
Введите доменное имя в форму выше
Доменное имя может содержать только буквы цифры и дефис!
reg_error_email_desc_empty
reg_error_email_desc_email
reg_error_email_email_exist
reg_error_passwd_desc_empty
reg_error_passwd_desc_password_dict
reg_error_passwd_desc_password_weak
reg_error_field_7
reg_error_field_8
login_error_badpassword
restore_error_desc_empty
restore_error_desc_email