AI 摘要

Cloudflare现在的Free计划提供四种SSL证书,其中DigiCert是默认的签发者,Let's Encrypt和Google Trust Services每三个月更换一次,Sectigo只作为备份。使用API可轻松切换,切换证书只需使用curl命令请求API并修改certificate_authority的参数。证书修改成功后,可在控制台和信息反馈中验证。若要证书更新,则需要先禁用通用SSL,然后再重新启用即可。

一、介绍

Cloudflare目前Free计划提供四种证书,DigiCert根证书(即CF的默认签发的证书,兼容性更广,证书链也更短,只有一级中间证书,证书为期一年更换)、Let’s Encrypt根证书(证书为其三个月更换,有被墙的黑历史,慎用)、Google Trust Services根证书(证书为其三个月更换,博主测试后发现eu.org配置后墙内无法使用,其他后缀无此问题,可选用),Sectigo根证书(这个仅作为备份,不能主动启用),在控制台使用应该是随机分配的,没办法指定。

二、切换方法

博主在看Cloudflare API文档的时候,发现了一个参数certificate_authority,实验了一下,可以成功切换证书。
LINUXSSH命令使用PATCH方法对CloudflareAPI进行请求。

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"}'

PS:域名区域 ID域名👉概述(右下)👉API👉区域 IDAPIKEY👉我的个人资料👉API 令牌👉API 密钥👉Global API Key处查看。


博主设置curl访问是切换到digicert
如果想换到Let's Encrypt则修改其中的digicertlets_encrypt
如果想换到Google Trust Services则修改其中的digicertgoogle

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

响应出上面信息代表已经修改成功,可以去控制台也可以看到新的证书了;
把上面的enabled改为false提交一次,再改为true反复提交一次,刷新重新颁发证书;
或者在控制台SSL/TLS👉边缘证书👉禁用通用 SSL,先禁用,再启用,就会更新到新证书;

来源:https://1han.wiki/cf-ssl/