南山做网站方案百度联盟 网站备案
服务器使用的华为云,之前SSL证书通过配置Cloudflare的DNS实现的,最近华为云备案提示需修改解析至境内华为云IP,若解析境外IP,域名无需备案,需注销或取消接入备案信息,改为使用Certd自搭建证书管理工具,自动申请、续签、部署SSL证书
Certd部署
使用Docker方式部署
# 创建目录
mkdir certd
# 进入目录
cd certd
# 下载docker-compose.yaml文件,或者手动下载放到certd目录下
wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml# 可以根据需要修改里面的配置
# 1.修改镜像版本号【可选】
# 2.配置数据保存路径【可选】
# 3.修改端口号【可选】
vi docker-compose.yaml # 【可选】# 启动certd
docker compose up -d
其他部署方式可参照Certd部署文档
创建证书自动化流程
本示例演示从创建证书申请任务到自动部署证书全流程
申请证书->部署证书->设置定时执行->设置邮件通知
准备工作
- 已部署CertD服务(可官方Demo自助注册体验 https://certd.handfree.work/ )
- 注册一个域名(支持阿里云万网、腾讯云DnsPod、华为云)
- 准备好以上DNS解析服务商的
AccessKey和AccessSecret - 证书要部署的目标(可选,单纯当成证书申请工具用也不错)
自动化流水线创建
1.创建证书申请部署流水线

需要添加域名的DNS解析服务商的授权

流水线创建成功
2.流水线详情界面

到这一步申请证书就已经配置完成了。
点击手动触发,就可以申请证书了。
接下来演示如何添加部署任务
3.添加部署到阿里云CDN任务
点击添加任务

选择任务类型

填写任务参数
此处,我是用的华为云,在【华为云控制台】–【内容分发网络CDN】,购买了流量包,开启CDN服务并配置好域名之后,在CDN加速域名选项才可以选择

点击确定,部署到CDN任务配置成功
4.添加部署到服务器主机任务
点击新任务,弹出添加任务界面

先选择上传到主机任务
填写任务参数,比如证书保存路径

需要添加主机ip、用户名、密码,只需添加一次,后续其他任务可以复用

然后添加第二个任务,执行主机命令,部署证书

选择执行脚本命令任务

编写脚本,选择之前添加的主机

点击确定,部署到主机任务配置成功

5.手动触发执行任务,测试一下

点击任务可以查看状态和日志

这里执行失败,可以查看错误日志


修改正确后,重新执行

可以看到前面执行过的就会跳过,不会重复执行

6.查看证书部署效果
可以看到证书已经部署到CDN成功


也可以手动下载证书

7.定时触发
配置定时触发,以后每天定时执行
cron格式,例如: 0 0 3 * * * 表示每天凌晨3点执行
到期前35天会自动申请新证书并部署,没到期前不会重复申请

8.邮件通知
可以接收邮件通知(支持时机:开始、成功、失败、失败转成功)

需要配置邮件服务器

详细流程参照Certd演示教程
华为云CDN配置
域名管理
支持添加泛域名作为加速域名,如:在CDN添加泛域名*.test.com作为加速域名,并将*.test.com解析至CDN生成的CNAME域名后,那么您所有*.test.com的次级域名(如a.test.com)都将默认支持CDN加速。泛域名(*.test.com)的三级域名(如b.a.test.com)不会被CDN加速
此处我添加了两个域名,一个一级域名,一个二级的泛域名

源站配置
源站地址配置为你的服务器IP地址,回溯HOST是你配置的域名

回源配置
回源方式设置为HTTP,第一次设置为HTTPS导致页面无法访问

HTTPS配置
此处如果证书流水线运行成功,就会显示你申请的证书

配置强制跳转和HSTS
强制跳转可以将客户端到CDN节点的请求方式强制跳转为HTTPS。
开启HSTS后,CDN将响应给客户端Strict-Transport-Security头部。客户端缓存该头部后,将自动把HTTP请求转为HTTPS请求访问CDN节点,提升访问安全性。

CNAME配置
如果已成功添加CDN加速域名,系统会自动为CDN加速域名分配对应的CNAME域名。加速域名在CDN服务中获得的CNAME域名不能直接访问,必须在加速域名的域名服务商处配置CNAME记录,将加速域名指向CNAME域名,访问加速域名的请求才能转发到CDN节点上,达到加速效果。
1.在域名管理页面,复制CDN加速域名对应的CNAME域名
2.在DNS解析页面,将原本的A记录类型均改为CNAME域名解析

