Cloudflare 目前 Free 计划提供四种证书, DigiCert 根证书(即 CF 的默认签发的证书,证书有效期1年)、 Let’s Encrypt 证书、 Google Trust Services 证书、Zerossl 证书(这三个证书有效期3个月,由CF自动续订)
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;
APIKEY – 我的个人资料 – API 令牌 – API 密钥 – Global API Key – 查看
如果想换到 Let’s Encrypt 则修改其中的 digicert 为 lets_encrypt
如果想换到 Google Trust Services 则修改其中的 digicert 为 google
返回以下值,说明切换成功:
{"result":{"enabled":true,"certificate_authority":"digicert"},"success":true,"errors":[],"messages":[]}
如果网站证书还没变的话,可以去 CF控制台 SSL/TLS – 边缘证书 – 禁用通用 SSL,先禁用,再启用,就会更新到新证书了。
