Управление точками установки
Точка установки — это цель развертывания сертификата в конфигурационном файле clmBot, состоящая из формата сертификата (format), пути к файлу и скрипта обновления. Один узел clmBot может управлять несколькими точками установки.
clmBot предоставляет следующие команды управления точками установки:
| Команда | Назначение |
|---|---|
discover-certificate | Автоматически сканировать сертификаты на этом компьютере (и в контейнерах Docker) и добавлять их как точки установки |
add-server | Интерактивно добавить точку установки вручную (записывается только в локальную конфигурацию) |
sync-server | Синхронизировать локальные точки установки с облаком и сопоставить номера подписок сертификатов |
setup | Запустить локальную страницу веб-конфигурации и управлять точками установки в браузере |
query-certificate | Просматривать в режиме только для чтения информацию о сертификатах, развернутых в каждой точке установки |
Автоматическое обнаружение точек установки сертификатов
Выполните discover-certificate, чтобы автоматически просканировать уже развернутые на сервере сертификаты:
./clm-bot-linux-amd64 discover-certificate
Диапазон сканирования:
- Linux: nginx, Apache HTTP Server, Tomcat.
- Windows: IIS.
После выполнения команды найденная информация о сертификатах будет выведена в виде таблицы (источник, тип, центр сертификации, субъект, путь, точка доступа, серийный номер и т. д.). Введите номер сертификата для загрузки и подтвердите добавление в панель управления:
all: загрузить всеnone: не загружать1,3-5: выбор по номеру, поддерживается запись диапазона
После успешной загрузки эти сертификаты появятся в панели управления как точки установки, и clmBot сгенерирует соответствующую конфигурацию для каждой точки установки в config.yaml.
Доступные параметры
| Параметр | Описание |
|---|---|
--yes / -y | Пропустить выбор и загрузить все точки установки |
--select | Напрямую укажите порядковый номер для загрузки (all, none или 1,3-5), взаимоисключается с --yes |
--skip-filter / -s | Пропустить фильтрацию доменов сертификата (SAN), по умолчанию загружаются только сертификаты, соответствующие разрешённым доменам в облаке |
--scan-docker / -d | Дополнительное сканирование конфигураций nginx, Apache, Tomcat внутри Docker-контейнеров (только Linux/macOS) |
--scan-only | Только сканирование и вывод всех точек установки сертификатов, без входа в систему и без загрузки. Подходит для предварительного просмотра перед развёртыванием |
Сценарий с Docker-контейнерами
При использовании --scan-docker clmBot сканирует работающие на локальной машине контейнеры nginx, Apache, Tomcat:
- Путь к сертификату внутри контейнера должен быть смонтирован на хост-машину и доступен для записи, иначе эта точка установки будет пропущена.
- Точка доступа для места установки будет сформирована с использованием IP-адреса и порта, опубликованных хост-машиной.
- С помощью переменных окружения
CLMBOT_NGINX_CONTAINERS,CLMBOT_APACHE_CONTAINERS,CLMBOT_TOMCAT_CONTAINERSможно указать имена контейнеров для сканирования (несколько имён контейнеров разделяются точкой с запятой).
Добавление точки установки вручную
Если облачный сертификат не развёрнут на сервере или автоматическое сканирование не смогло его обнаружить, точку установки можно добавить вручную:
./clm-bot-linux-amd64 add-server 260101AABBCC pem
Первый параметр — номер подписки на сертификат, второй параметр — формат сертификата (pem, pfx, jks, iis или exchange). Следуя подсказкам, по очереди введите идентификатор точки установки и путь к файлу соответствующего формата.
add-server только запишет точку установки в локальный config.yaml и не будет автоматически загружать её в облако; если требуется синхронизация с облаком, выполните затем sync-server.
Синхронизация точки установки с облаком
sync-server Загрузите точку установки из локальной конфигурации в облако и дополните или откалибруйте локальную конфигурацию с помощью идентификатора подписки, возвращённого облаком:
./clm-bot-linux-amd64 sync-server
После выполнения будет выведен список локальных точек установки. Выберите по порядковому номеру элемент для загрузки (также поддерживаются all, none, 1,3-5). Можно также использовать --yes для загрузки всех или --select для прямого указания.
- Если локальный номер подписки пуст, он будет заполнен автоматически; при расхождении с облаком будут показаны конфликты, и перезапись произойдёт только после подтверждения.
- Точки установки в формате Exchange пока не поддерживают синхронизацию.
Локальная страница веб-конфигурации
Если работа с командной строкой неудобна, можно использовать setup для запуска локальной страницы конфигурации и в браузере добавлять, редактировать и удалять точки установки:
./clm-bot-linux-amd64 setup
После выполнения будет выведен адрес доступа со случайным токеном (например, http://localhost:<端口>/setup?token=...). Откройте его в браузере на самом сервере, чтобы управлять точками установки.
Страница настройки прослушивает только loopback-адрес сервера и недоступна с других хостов. Не передавайте адрес доступа с токеном посторонним лицам; после завершения работы нажмите Ctrl+C (или следуйте подсказке), чтобы остановить страницу.
Если необходимо указать порт, используйте параметр -a (например, setup -a localhost:8900); в средах со старыми браузерами можно добавить --legacy, чтобы использовать страницу настройки на чистом HTML.
Просмотр информации о сертификатах точек установки
query-certificate позволяет в режиме только для чтения просматривать информацию о сертификатах, развёрнутых в каждой точке установки (тема, издатель, серийный номер), без изменения файлов сертификатов:
./clm-bot-linux-amd64 query-certificate
По умолчанию запрашиваются все точки установки. Для указания ID точки установки можно использовать параметр -i, например query-certificate -i nginx_pem.
Дальнейшие действия
После подготовки точки установки настройте способ обновления сертификата, см. Способ обновления сертификата.