Keitaro
July 7

Исправляем 502 Bad Gateway в Keitaro 11 (2025)

Ошибка 502 Bad Gateway в Keitaro версии 11 указывает на проблему взаимодействия между веб-сервером (обычно Nginx) и внутренними компонентами системы, такими как PHP-FPM или другие backend-сервисы. Эта ошибка возникает, когда сервер-шлюз не может получить корректный ответ от вышестоящего сервера. В данной статье мы разберем возможные причины возникновения этой ошибки и шаги по ее устранению на основе анализа типичного лога Keitaro.


Возможные причины ошибки 502 в Keitaro

  1. Проблемы с PHP-FPM
    Если служба PHP-FPM не запущена или работает некорректно, Nginx не сможет обработать запросы, что приведет к ошибке 502.
  2. Неправильная конфигурация Nginx
    Ошибка может быть вызвана некорректными настройками Nginx, из-за которых он не может связаться с backend-сервисами.
  3. Недостаток ресурсов сервера
    Нехватка оперативной памяти или процессорных ресурсов может привести к сбоям в работе внутренних сервисов Keitaro.
  4. Проблемы с правами доступа
    Если у Nginx или PHP-FPM нет необходимых прав доступа к файлам или сокетам, это может вызвать ошибку.
  5. Ошибки SSL-сертификатов
    Неправильная настройка или истекший срок действия SSL-сертификатов могут нарушить соединение.

Шаги по устранению ошибки 502 Bad Gateway

Следующие шаги помогут вам диагностировать и устранить проблему. Выполняйте их последовательно, проверяя результат после каждого этапа.

1. Проверка состояния сервисов

Убедитесь, что все ключевые компоненты Keitaro работают корректно.

  • Выполните команду в терминале:kctl check
  • Проверьте вывод. Если какие-то сервисы (например, tracker-traffic, tracker-admin, data-collector, nginx, php-fpm) отмечены как NOK или inactive, это указывает на проблему.
  • Для перезапуска всех сервисов выполните:kctl restart

2. Анализ логов

Логи содержат подробную информацию о причинах сбоя.

  • Проверьте логи Nginx:cat /var/log/nginx/error.log
  • Проверьте логи PHP-FPM (если используется):cat /var/log/php-fpm/error.log
  • Ищите сообщения об ошибках, таких как "connection refused", "timeout", или "permission denied".

3. Проверка конфигурации Nginx

Убедитесь, что настройки Nginx корректны.

  • Проверьте синтаксис конфигурации:nginx -t
  • Если команда возвращает ошибки, исправьте их в файле конфигурации (обычно находится в /etc/nginx/conf.d/).
  • Перезапустите Nginx после изменений:systemctl restart nginx

4. Проверка прав доступа

Неправильные права доступа могут блокировать работу сервисов.

  • Исправьте права для директорий и файлов Keitaro:kctl repair Эта команда автоматически восстановит права доступа для ключевых компонентов.

5. Проверка ресурсов сервера

Нехватка ресурсов может быть причиной сбоев.

  • Проверьте использование памяти и CPU:free -m top
  • Если ресурсов недостаточно, попробуйте увеличить объем оперативной памяти или оптимизировать настройки сервера (например, уменьшить количество PHP-FPM воркеров).

6. Проверка SSL-сертификатов

Если вы используете HTTPS, убедитесь, что сертификаты настроены правильно.

  • Проверьте срок действия сертификатов:openssl x509 -in /etc/keitaro/ssl/cert.pem -text -noout
  • Если сертификаты устарели или некорректны, обновите их:kctl certificates renew

7. Обновление Keitaro

Иногда ошибка может быть связана с багом в текущей версии.

  • Обновите Keitaro до последней версии:kctl update
  • После обновления перезапустите сервисы:kctl restart

8. Перезапуск всех компонентов

Простой перезапуск может временно устранить проблему.

  • Выполните:kctl restart

9. Обращение в поддержку

Если ни один из шагов не помог, свяжитесь с поддержкой Keitaro.

  • Подготовьте следующую информацию:
    • Версия Keitaro (в логах указана как tracker-admin v11.1.0-beta.3).
    • Вывод команды kctl check.
    • Логи Nginx и PHP-FPM.
  • Отправьте запрос через официальный сайт Keitaro.

Пример из лога

В предоставленном логе команда kctl check показала, что некоторые сервисы (guest-redis, nats, tracker-sandbox, tracker-traffic, tracker-admin, data-collector) были неактивны. После выполнения kctl repair все сервисы были перезапущены и отмечены как "healthy". Однако, если ошибка 502 сохраняется, это может указывать на проблему, не решенную в процессе ремонта, например, с PHP-FPM или конфигурацией Nginx.


Заключение

Ошибка 502 Bad Gateway в Keitaro версии 11 может быть вызвана множеством факторов, от сбоев сервисов до нехватки ресурсов. Следуя приведенным шагам, вы сможете диагностировать и устранить проблему. Начните с проверки состояния сервисов и анализа логов, а затем переходите к более глубоким настройкам, если необходимо. Удачи в настройке Keitaro!