# Как обновить SSL-сертификаты Printum

---
title: Как обновить SSL-сертификаты Printum
slug: ts-ssl-obnovlenie-sertifikatov
tags: [ssl, сертификат, обновление, истёк срок, балансировщик]
domain: Operations
type: Runbook
audience: partner-engineer
product_versions: "4.x"
status: ready
related_components: [Мониторинг, ПринтМенеджер, Балансировщик]
related_pages:
  - trebovaniya-k-ssl-sertifikatam
  - kak-obnovit-printum
---

# Как обновить SSL-сертификаты Printum

## Когда использовать

- Истёк срок действия сертификатов.
- Изменился hostname или IP-адрес сервера.
- Требуется заменить сертификаты по требованиям ИБ.

---

## Singlenode: обновление сертификатов М

```bash
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
```

---

## Singlenode: обновление сертификатов ПринтМенеджер

```bash
sudo curl -L https://s3.printum.io/distrib/printum-printmanager/install.sh | \
  sudo -E SSL_CERT=/path/cert.crt \
       SSL_KEY=/path/cert.key \
       SSL_CERT_CA=/path/ca.crt bash
```

---

## Балансировщик: обновление собственных сертификатов через скрипт

В файле `config.ini` обновить пути к новым сертификатам:

```ini
[General]
SSL_CERT_CA = /path/to/new/ca.crt

[Balancer]
SSL_CERT = /path/to/balancer/cert.crt
SSL_KEY  = /path/to/balancer/cert.key

[Monitoring]
SSL_CERT = /path/to/monitoring/cert.crt
SSL_KEY  = /path/to/monitoring/cert.key

[PrintManager_1]
SSL_CERT = /path/to/pm1/cert.crt
SSL_KEY  = /path/to/pm1/cert.key

# [PrintManager_2], [PrintManager_3] — аналогично
```

Запустить скрипт:

```bash
sudo ./install_all_offline.sh
```

---

## Балансировщик: перевыпуск автоматических сертификатов

Выполнять на сервере балансировщика раз в год:

```bash
# Удалить все сертификаты
sudo rm -fr /opt/printum_balancer/certificates

# Выпустить новый корневой сертификат
sudo /opt/printum_balancer/scripts/generate_ca_cert.sh

# Перевыпустить сертификаты для всех серверов
cd /opt/printum_balancer/scripts
sudo ./regenerate_all_certs.sh \
  -balancer <BALANCER_ADR> \
  -pm <PM_1> \
  -pm <PM_2> \
  -pm <PM_3>
```

Где `<BALANCER_ADR>`, `<PM_1>`, `<PM_2>`, `<PM_3>` — те же адреса, что использовались при первоначальной установке.

---

## Проверка после обновления

```bash
# Проверить срок действия нового сертификата М
openssl s_client -connect <адрес_М>:8001 </dev/null 2>/dev/null \
  | openssl x509 -noout -dates

# Проверить синхронизацию М–ПМ
cd /opt/printmanager
sudo docker-compose logs printmanager-celery-print-queue --tail=50 | grep -i ssl
```

Ошибок SSL нет. Синхронизация завершается успешно.

---

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

- Обновление сертификатов не устраняет SSL-ошибки.
- Цепочка доверия не проходит проверку.
- PKI управляется заказчиком.

---

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

- [Требования к SSL-сертификатам для Printum](trebovaniya-k-ssl-sertifikatam)
- [Hostname mismatch — сертификат не соответствует адресу](ts-ssl-hostname-mismatch)
- [Как обновить Printum](kak-obnovit-printum)