Перейти к основному содержимому

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

clmBot поддерживает два способа обновления сертификатов, которые можно выбирать в зависимости от сетевого окружения сервера:

Способ обновленияРежим работыТребования к портамПодходящие сценарии
Облачная отправкаОтправка инициируется из панели управления, clmBot на стороне сервера принимает и обновляетНеобходимо открыть входящий порт 8862/tcpСетевая политика разрешает, требуется немедленное применение обновлений
Периодическое получениеclmBot периодически проверяет облако на наличие новых сертификатов и обновляет автоматическиОткрывать входящий порт не требуетсяСерверы, где невозможно открыть входящий порт (рекомендуемый способ по умолчанию)

Оба способа не конфликтуют друг с другом: в одной группе серверов можно частично использовать отправку, а частично — периодическое получение.

Способ 1: Облачная отправка

Запуск серверной части clmBot на сервере

./clm-bot-linux-amd64 server -a="0.0.0.0:8862"

-a 指定监听地址和端口,默认为 0.0.0.0:8862。启动后 clmBot 将作为服务端常驻运行,等待云端推送。

注意
  • 需要在服务器防火墙和云安全组中开放 8862/tcp 入站端口。
  • clmBot 服务端对云端推送连接启用双向 TLS 认证,仅接受已完成接入激活的节点推送证书。

如不希望开放入站端口,请使用方式二:定时拉取

信息

clmBot 服务端需要保持运行才能接收推送。生产环境建议将其注册为系统服务并设置开机自启,参见 服务化部署与升级

在管理后台推送证书

登录管理后台,进入安装点列表,找到目标安装点并点击 推送证书,确认后系统将最新的证书推送到服务器并自动完成更新。

方式二:定时拉取

定时拉取模式无需开放入站端口,由 clmBot 定时执行更新检查,是推荐的默认方式。

Linux:配置 crontab

将 clmBot 更新命令加入 crontab:

crontab -e

Добавьте строку (проверка обновления сертификата выполняется каждый день в 3 часа ночи):

0 3 * * * cd /opt/clm-bot && ./clm-bot-linux-amd64 update-certificate >> update.log 2>&1
Примечание
  • Перед выполнением команды необходимо сначала перейти в каталог установки clmBot с помощью cd, поскольку clmBot по умолчанию читает config.yaml из текущего каталога.
  • Также можно не переключать каталог, а указать путь к файлу конфигурации через параметр -c: ./clm-bot-linux-amd64 -c /opt/clm-bot/config.yaml update-certificate.
  • Пожалуйста, замените путь на фактический каталог установки.

Вывод выполнения будет добавлен в update.log, при этом clmBot будет записывать журнал работы в файл logs/clm-bot.log, расположенный в каталоге файла конфигурации.

Windows: настройка запланированной задачи

Создайте запланированную задачу на сервере Windows для выполнения по расписанию:

cd /d C:\clm-bot && clm-bot-windows-amd64.exe update-certificate >> update.log 2>&1

После завершения создания можно щёлкнуть правой кнопкой мыши по задаче и выбрать «Запустить» для проверки, затем просмотреть журналы в каталоге установки, чтобы подтвердить результат выполнения.

Автоматическое перевыпуск и обновление сертификатов

Сертификаты, обновляемые clmBot, поступают из облачного автоматического перевыпуска. Войдите в административную панель, откройте страницу сведений о SSL-сертификате, в настройках автоматического перевыпуска выберите или введите период перевыпуска (например, 30 дней) и сохраните.

Общий эффект после настройки:

  1. До истечения срока действия сертификата облако автоматически выполняет перевыпуск в соответствии с заданным периодом и создаёт новый сертификат.
  2. clmBot получает новый сертификат согласно настроенному способу (push-уведомление или периодическое получение по расписанию).
  3. clmBot выполняет обновление локального сертификата:
  • Если локальный сертификат совпадает с последним облачным сертификатом, обновление пропускается.
  • Если он не совпадает, автоматически создаётся резервная копия локального файла сертификата (создаётся резервная копия с меткой времени .bak), затем последовательно выполняются before_script, запись нового сертификата и after_script для перезагрузки службы.
Подсказка

Если необходимо принудительно выполнить after_script без обновления сертификата (например, для отладки сценария перезагрузки), можно использовать параметр --force-after.