MEVCORE

Помилки 502 Bad Gateway і 504 Gateway Timeout: що робити

Оновлено 09.10.2026

Обидві помилки показує проксі-сервер (зазвичай Nginx), коли не може отримати відповідь від програми, яка насправді формує сторінку: PHP-FPM, Apache, Node.js чи іншого бекенду.

  • 502 Bad Gateway — бекенд відповів некоректно або взагалі недоступний: процес не запущений, впав чи відхилив з'єднання.
  • 504 Gateway Timeout — бекенд працює, але не встиг відповісти за відведений час.

502 Bad Gateway

1. Перевірте, чи запущений PHP-FPM

На VPS:

systemctl status php8.3-fpm

Підставте свою версію PHP. Якщо служба зупинена — запустіть її і подивіться, чому вона впала:

systemctl restart php8.3-fpm
journalctl -u php8.3-fpm --since "1 hour ago"

2. Перевірте журнал Nginx

tail -n 50 /var/log/nginx/error.log
  • connect() to unix:/run/php/php8.3-fpm.sock failed (2: No such file or directory) — у конфігурації Nginx вказаний сокет іншої версії PHP. Виправте шлях у fastcgi_pass.
  • (13: Permission denied) — Nginx не має прав на сокет. Перевірте параметри listen.owner і listen.group у пулі PHP-FPM.
  • upstream sent too big header — збільште буфери: fastcgi_buffers 16 16k; fastcgi_buffer_size 32k;

3. Не вистачає пам'яті

Якщо на сервері закінчилася оперативна пам'ять, ядро завершує процеси PHP або бази даних. Перевірте:

free -h
dmesg | grep -i "killed process"

Допоможе додавання swap або збільшення тарифу — див. «Як додати swap-файл на VPS» і «Як перевірити навантаження на VPS».

504 Gateway Timeout

Сторінка виконується довше, ніж дозволяють тайм-аути. Спочатку з'ясуйте, чому вона повільна: важкий SQL-запит, звернення до зовнішнього API, імпорт товарів, резервне копіювання плагіном.

Якщо довге виконання очікуване (наприклад, імпорт), збільште тайм-аути. У Nginx:

fastcgi_read_timeout 300;
proxy_read_timeout 300;

У PHP — параметр max_execution_time, у пулі PHP-FPM — request_terminate_timeout. Після змін перезавантажте служби:

nginx -t && systemctl reload nginx
systemctl reload php8.3-fpm
Довгі операції краще виконувати не через браузер, а через CRON або командний рядок — тоді вони не впираються в тайм-аути вебсервера.

На віртуальному хостингу

На хостингу з ISPmanager чи cPanel доступу до конфігурації Nginx немає. Перевірте журнал помилок сайту, вимкніть нещодавно встановлені плагіни та спробуйте іншу версію PHP. Якщо помилка повторюється — напишіть у підтримку.

Не знайшли відповідь?

Опишіть завдання, додайте текст помилки та скриншот — команда підтримки допоможе знайти наступний крок.

Як до вас звертатися?

Введіть ім’я, перш ніж почати діалог.

Вітаємо! Напишіть ваше питання — оператор відповість якнайшвидше.
Оцініть відповідь оператора