歲月留聲

使用api申请切换Cloudflare一年CA证书

目前 Cloudflare Free 计划提供四种证书:DigiCert 根证书(即 Cloudflare 官方默认签发的证书,有效期 1 年)、Let’s Encrypt 证书、 Google Trust Services 证书、Zerossl 证书「这三个证书有效期 3 个月,由 CF 自动续订」。

使用api申请切换Cloudflare一年CA证书 - 第1张图片

「使用api申请切换Cloudflare一年CA证书:https://0xo.net/576」

Cloudflare API 中有一个 certificate_authority 参数,可以切换证书。Linux curl 命令使用 PATCH 方法对 cloudflare api 进行请求即可自动切换申请证书:

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/域名区域 ID/ssl/universal/settings" \
-H "X-Auth-Email: 你的 CF 邮箱" \
-H "X-Auth-Key: 你的 APIKEY" \
-H "Content-Type: application/json" \
--data '{"enabled":true,"certificate_authority":"digicert"}'

域名区域 ID –> 域名 –> 概述(右下)–> API –> 区域 ID 可获取到:

使用api申请切换Cloudflare一年CA证书 - 第2张图片

「使用api申请切换Cloudflare一年CA证书:https://0xo.net/576」

APIKEY –> 我的个人资料 –> API 令牌 –> API 密钥 –> Global API Key –>查看,输入账号密码即可获取到:

使用api申请切换Cloudflare一年CA证书 - 第3张图片

如果想换到 Let’s Encrypt 则将命令中 digicert 修改为 lets_encrypt

「使用api申请切换Cloudflare一年CA证书:https://0xo.net/576」

如果想换到 Google Trust Services 则将命令中 digicert 修改为 google

执行命令返回以下值,说明切换成功:

{"result":{"enabled":true,"certificate_authority":"digicert"},"success":true,"errors":[],"messages":[]}

进去域名后台可以看到证书申请状态:

「使用api申请切换Cloudflare一年CA证书:https://0xo.net/576」

使用api申请切换Cloudflare一年CA证书 - 第4张图片

证书申请完全就会自动切换过去,刷新浏览器缓存,就能看到新证书「如果网站证书长时间没有切换到新证书,可以去 CF 控制台 SSL/TLS – 边缘证书 – 禁用通用 SSL,先禁用,再启用,就会更新切换到新证书」。

退出移动版