前言

好久没发文章了,一个暑假又浑浑噩噩过去了。最近把Certimate从2.x升到了3.x,折腾了半天,特来写个文章记录一下安装及使用教程,并提供一个我认为养老的工作流模版。这篇文章会很长,若仅需要部分内容,请善用右侧的目录进行快速跳转。

Certimate是什么

Certimate是一个开源的 SSL 证书管理工具,把原本分散在运维、开发、安全之间的 SSL 证书申请、签发、续期、部署、监控、告警和失效回收全部自动化,做到“一次配置,永久免维护”,是你的证书管理利器。

安装

请先保证你已安装Docker及Docker Compose,然后确认你的服务器时区是你所想的,输入以下命令查看时区配置:

vim /etc/timezone

若不是你所想的,请替换掉原内容,以北京时间为例,替换为 Asia/Shanghai即可。

接着,配置 docker-compose.yml

mkdir certimate && cd certimate
vim docker-compose.yml

粘贴以下示例配置:

version: "3.0"
services:
  certimate:
    image: certimate/certimate:latest
    container_name: certimate
    ports:
      - 8090:8090
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - ./data:/app/pb_data
    restart: unless-stopped

``

最后,运行 docker-compose up -d启动容器即可,输入 docker ps查看该容器是否正常启动。

使用

登录

打开你的Certimate,输入默认账号密码,之后记得及时修改:

- 账号:admin@certimate.fun
- 密码:1234567890

配置授权管理

你首先需要配置授权管理。打开“授权管理”页面,添加你的域名的DNS提供商和主机提供商,添加证书颁发机构,添加通知渠道(可选),对于如何获取相关密钥,详见官方文档

简单说下相关概念:

  • DNS 提供商:你域名的DNS提供商,用于在申请证书时添加相关域名解析记录。
  • 主机提供商:你的服务器、你的CDN、你的对象存储,用于部署签发的证书。
  • 证书颁发机构:证书颁发机构,如果没啥需求默认Let's Encrypt就行。
  • 通知渠道:用于推送消息通知的渠道,如果你不需要不配置不影响工作流运行。

配置工作流(提供模版)

重头戏来了。打开“工作流”页面,单击“新建工作流”按钮,选择标准模版,接下来按照我的步骤进行配置。

开始模块

工作流的起始位置,单击进入编辑界面,切换为自动触发,这样,该工作流就能定时执行:

监控模块

在开始模块的下面单击加号选择“监控网站证书”,配置你的域名:

然后,在监控模块下面单击加号选择“并行/条件分支”,在下面有一大坨的那个分支上(这个分支的意思是当证书濒临到期或没证书时申请并部署证书)配置如下:

申请模块

单击进入编辑界面,填写相关配置。

部署模块

单击进入编辑界面,选择你要部署的提供商,配置即可,我这里是EdgeOne:

通知模块(可选)

在你想要通知的位置单击加号,选择“推送通知”,进行配置即可。

全局预览

结语

至此,Certimate就差不多配置完了。此后,若想复用这条工作流,只需要返回工作流列表单击“复制”按钮复制一份即可。