AI 摘要

Cloudflare提供了四种SSL证书选项,包括DigiCert、Let's Encrypt、Google Trust Services和Sectigo。用户可以通过Cloudflare的API来自由切换SSL证书颁发者。通过修改certificate_authority参数,用户可以在控制台中成功切换证书。具体操作包括使用PATCH方法对Cloudflare的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/