Способы обновления сертификатов
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 дней) и сохраните.
Общий эффект после настройки:
- До истечения срока действия сертификата облако автоматически выполняет перевыпуск в соответствии с заданным периодом и создаёт новый сертификат.
- clmBot получает новый сертификат согласно настроенному способу (push-уведомление или периодическое получение по расписанию).
- clmBot выполняет обновление локального сертификата:
- Если локальный сертификат совпадает с последним облачным сертификатом, обновление пропускается.
- Если он не совпадает, автоматически создаётся резервная копия локального файла сертификата (создаётся резервная копия с меткой времени
.bak), затем последовательно выполняютсяbefore_script, запись нового сертификата иafter_scriptдля перезагрузки службы.
Если необходимо принудительно выполнить after_script без обновления сертификата (например, для отладки сценария перезагрузки), можно использовать параметр --force-after.