Skip to content

证书自动部署

证书申请下来只是第一步,真正麻烦的是把它装到各个地方去。网站可能挂在 CDN 后面,静态资源在对象存储上,API 走负载均衡,还有几台自建服务器跑着 Nginx。每 90 天换一次证书,意味着这些地方全都要重新装一遍。

自动部署解决的就是这件事:一次配置好部署目标,之后每次证书更新,系统都会自动把新证书推送过去。同一张证书可以配置任意多个部署目标,且部署本身不消耗积分。

部署是怎么发生的

前三类由 yunplus 服务端主动推送,不需要你的服务器参与;最后一类是本地客户端主动拉取,需要在服务器上运行脚本。

支持的部署目标

在证书配置列表中点击某个证书的「自动部署」,再点「新增自动部署」,就会看到部署目标选择器。

部署目标选择器

按类别整理如下。

阿里云

阿里云可部署产品

部署目标说明
对象存储部署到阿里云对象存储服务(OSS)
CDN部署到阿里云内容分发服务(CDN)
全站加速部署到阿里云全站加速服务(DCDN)
视频点播部署到阿里云视频点播服务(VOD)
应用型负载均衡部署到阿里云 ALB
传统型负载均衡部署到阿里云 CLB
网络型负载均衡部署到阿里云 NLB
SSL证书上传到阿里云数字证书管理服务,供其他产品引用

腾讯云

部署目标说明
对象存储部署到腾讯云对象存储服务(COS)
CDN部署到腾讯云内容分发网络(CDN)
EdgeOne部署到腾讯云边缘安全加速平台(EO)
云点播部署到腾讯云云点播(VOD)
负载均衡部署到腾讯云负载均衡(CLB)
SSL证书上传到腾讯云 SSL 证书服务

华为云

部署目标说明
CDN部署到华为云内容分发网络(CDN)
弹性负载均衡部署到华为云 ELB
云证书管理服务上传到华为云 CCM

京东云

部署目标说明
CDN部署到京东云内容分发网络(CDN)
负载均衡部署到京东云应用型负载均衡(ALB)
SSL数字证书上传到京东云 SSL 数字证书服务

七牛云

部署目标说明
对象存储部署到七牛云对象存储(Kodo)
CDN部署到七牛云内容分发网络(CDN)
全站加速部署到七牛云全站加速(DCDN)
SSL证书上传到七牛云 SSL 证书

百度智能云

部署目标说明
CDN部署到百度云内容分发网络(CDN)
普通型负载均衡部署到百度云 BLB
应用型负载均衡部署到百度云应用型 BLB
SSL证书上传到百度云证书服务(CAS)

面板

面板类部署目标

部署目标说明实操
宝塔面板部署宝塔面板本身的证书宝塔部署
宝塔网站部署宝塔面板中某个站点的证书宝塔部署
1Panel部署 1Panel 面板本身的证书1Panel部署
1Panel网站部署 1Panel 中某个网站的证书1Panel部署

Webhook

Webhook 部署

系统以 POST 方式把证书内容提交到你指定的地址,剩下的处理逻辑完全由你自己决定。适合已有内部证书分发系统、或者要部署到 yunplus 尚未直接支持的产品上,详见 Webhook部署

本地服务器

本地服务器不在上面这个选择器里,而是通过「本地脚本」走客户端方式部署,支持 NginxApacheIISTomcat

原因很简单:yunplus 服务端无法主动连接到你的内网机器,所以改成由跑在服务器上的客户端脚本每天主动检查并更新证书文件。配置方法见 SSL证书配置 中「部署到本地服务器nginx」一节,Nginx 侧需要提前配好的 SSL 段落见 nginx上SSL证书配置

配置一个部署任务

以云产品类为例,表单字段基本一致:

负载均衡部署表单

  1. 访问秘钥:选择该云产品所在账号的密钥。密钥需要有对应产品的证书管理权限。
  2. 地域:选择实例所在地域。选完地域后,域名/实例下拉才会拉到数据。
  3. 域名 / 实例:从厂商 API 拉取的真实列表中选择,不需要手填。

面板类和 Webhook 类的字段不同,详见各自的实操文档。

部署目标的域名要和证书匹配

比如证书是 *.example.com,那么部署目标上绑定的域名必须落在这个范围内。域名对不上时厂商 API 会拒绝,部署任务会显示执行失败。

查看部署结果

部署任务列表里能看到每个任务的是否启用执行状态创建时间

自动部署任务列表

执行失败最常见的三个原因:

现象原因处理
提示无权限 / AccessDenied访问秘钥缺少该产品的证书管理权限去云厂商 RAM 给子账号补权限
提示域名不匹配部署目标绑定的域名不在证书覆盖范围内换目标,或改用泛域名 / 多域名证书
提示实例不存在实例已被删除或换了地域删掉旧任务重新配置