Ошибка проверки SSL-сертификата: self signed certificate in certificate chain
СимптомыСимптом
В логах ПринтМенеджерПринтМенеджера припоявляется синхронизации с М:ошибка:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
self signed certificate in certificate chain
Синхронизация Мониторинг–ПринтМенеджерМониторинга и ПринтМенеджера не работает.выполняется.
Причина
В файл server.crt включено содержимое корневогосерверного сертификата (CA). Это нарушает структуру цепочки доверия —включён корневой сертификат удостоверяющего центра.
Корневой сертификат должен бытьхраниться отдельным файлом (и передаваться как ca.crtSSL_CERT_CA), а не частью серверного сертификата..
Диагностика
Проверить, сколько сертификатов содержится в файле server.crt:
grep -c "BEGIN CERTIFICATE" /path/to/server.crt
Норма: 1 (серверный сертификат) или 2 (серверный + промежуточный CA). Ошибка: 3 и более — скорее всего, включён корневой сертификат.
Решение
Разделить сертификаты:
server.crt— только серверный сертификат (и промежуточный CA, если есть).ca.crt— только корневой сертификат.
Переустановить с корректно разделёнными файлами:
sudo curl -L https://s3.printum.io/box/monitoring/install.sh | \
sudo -E SSL_CERT=/path/server.crt \
SSL_KEY=/path/server.key \
SSL_CERT_CA=/path/ca.crt bash -s agent
Ключевые слова
self signed certificate in certificate chain, certificate verify failed, SSL, CA, server.crt, ca.crt, цепочка сертификатов
Как проверить результат
sudo docker logs printmanager-celery-print-queue --tail=50 | grep -i ssl
Ошибок SSL нет. Синхронизация завершается успешно.
Когда эскалировать
- Структура сертификатов исправлена, но ошибка сохраняется.
- Неизвестно, какой сертификат является корневым — потребуется помощь владельца PKI.