前言
好久没发文章了,一个暑假又浑浑噩噩过去了。最近把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就差不多配置完了。此后,若想复用这条工作流,只需要返回工作流列表单击“复制”按钮复制一份即可。