Skip to main content

Ошибка проверки SSL-сертификата: Hostname mismatch

СимптомыСимптом

В логах ПринтМенеджерПринтМенеджера или при установке:установке появляется ошибка:

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
Hostname mismatch, certificate is not valid for '<адрес>'

СинхронизацияВозможные Мониторинг–ПринтМенеджерпроявления:

    не работает.работает синхронизация Мониторинга и ПринтМенеджера; CUPS не создаёт принтеры.принтеры; Встроенноевстроенное приложение не подключается к серверу.

    Причина

    Адрес, по которому компонентКомпонент обращается к серверу,серверу непо совпадаетадресу, скоторый отсутствует в сертификате (CN или Subject Alternative Name (SAN) сертификата.Name).

    Типичные ситуации:

    • Системасистема была установлена по hostname, а сертификат выпущен надля IPIP-адреса (или наоборот).;
    • Послепосле обновления изменился адрес сервера, а сертификат осталсяне старый.был перевыпущен;
    • Прив установкепеременной сMON_HOSTNAME балансировщикомили каждомуMONITORING_ADDRESS серверууказан нуженневерный собственныйадрес;
    при использовании собственных сертификатов отсутствует необходимый CN или SAN; в кластерной конфигурации или филиальной сети один сертификат используется использовалсядля одиннескольких общий.серверов.

    Диагностика

    Проверить,Проверьте, для какого адреса выпущен сертификат:

    openssl s_client -connect <адрес_сервера>:<порт> </dev/null 2>/dev/null \
      | openssl x509 -noout -subject -ext subjectAltName
    

    СравнитьСравните результат с адресом, по которому идёткомпонент обращение:
    обращается к серверу.

    Если Мониторинг и ПринтМенеджер установлены на разных серверах:

    # Для ПМ — адрес М в .env
    grep MONITORING_ADDRESS /opt/printmanager/.env
    

    Если Мониторинг и ПринтМенеджер установлены на одном сервере,сервере проверить— проверьте значение EXT_HOSTNAME в панели администратора Принтменеджера → Настройки → Общие настройки → EXT_HOSTNAME
    Если адреса не совпадают — причина найдена.ПринтМенеджера.


    Решение

    Автоматические сертификаты

    Переустановка без SSL-параметров пересоздаёт сертификаты автоматически под текущий адрес:

    # М
    sudo curl -L https://s3.printum.io/box/monitoring/install.sh | sudo -E bash
    
    # ПМ
    sudo curl -L https://s3.printum.io/distrib/printum-printmanager/install.sh | sudo -E bash
    

    Собственные сертификаты

    Перевыпустить сертификат для актуального адреса сервера. CN и SAN должны содержать адрес, по которому компонент обращается к серверу. Затем обновить с новыми файлами:

    sudo curl -L https://s3.printum.io/box/monitoring/install.sh | \
      sudo -E SSL_CERT=/path/cert.crt \
           SSL_KEY=/path/cert.key \
           SSL_CERT_CA=/path/ca.crt bash -s agent
    

    БалансировщикКластер и филиальная сеть

    ПриКаждый установке схемы с балансировщиком или филиальной сетью у каждого серверасервер должен бытьиспользовать собственный ssl-сертификат, выпущенный для его адреса и единый корневой ca-сертификат. ОдинВсе сертификатсертификаты надолжны всебыть серверывыпущены неодним подходит.удостоверяющим центром (CA).


    См.

    Как проверить результат

    sudo docker logs printmanager-celery-print-queue --tail=50 | grep -i ssl
    

    Ошибок SSL нет. Синхронизация Мониторинг–ПринтМенеджер завершается успешно.


    Когда эскалироватьтакже

    • ПослеТребования перевыпускак сертификатасертификатам ошибка сохраняется.безопасности
    • PKIКак управляетсяобновить заказчиком — требуется его участие.
    Нет возможности выпустить сертификат для нужного hostname/IP.Printum

    Ключевые слова

    Hostname mismatch, certificate is not valid for, certificate verify failed, SSL, SAN, CN, MONITORING_ADDRESS, EXT_HOSTNAME, сертификат, hostname, обновление

    Связанные страницы