SSL — Hostname mismatch, certificate is not valid for '...'


title: SSL — Hostname mismatch, certificate is not valid for '...' slug: ts-ssl-hostname-mismatch tags: [ssl, hostname mismatch, сертификат, синхронизация, CUPS] domain: Troubleshooting type: Troubleshooting audience: partner-engineer product_versions: "4.x" status: ready related_components: [Мониторинг, ПринтМенеджер, Балансировщик] related_pages:


SSL — Hostname mismatch, certificate is not valid for '...'

Симптомы

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

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

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


Причина

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

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


Диагностика

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

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

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

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

# Для клиента ПМ на Linux
grep server_url /opt/printum/printmanager_client/settings.yml

Если адреса не совпадают — причина найдена.


Решение

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

Переустановка без 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

Балансировщик

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


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

cd /opt/printmanager
sudo docker-compose logs printmanager-celery-print-queue --tail=50 | grep -i ssl

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


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


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


Revision #5
Created 2026-05-18 10:00:17 UTC by DD
Updated 2026-05-24 17:49:25 UTC by DD