#教程# – Cloudflare 利用API自选Let’s Encrypt/Google/Digicert,自由切换SSL证书颁发者

前言

前段时间申请的免费域名 eu.org 批准了,今天就把 NS 改到了Cloudflare,顺便看了下证书,发现是 Let’s Encrypt,因为 Let’s Encrypt 在国内还有 OCSP 验证服务器被墙的历史,所以不想使用 Let’s Encrypt 证书,但 Cloudflare 后台又无法更改为其他证书,所以就只有使用 Cloudflare API 来修改了。

图片[1] - #教程# – Cloudflare 利用API自选Let’s Encrypt/Google/Digicert,自由切换SSL证书颁发者 - 云线路

介绍

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

切换方法

博主在看 Cloudflare API 文档的时候,发现了一个参数 certificate_authority ,实验了一下,可以成功切换证书。

LINUX SSH 命令使用 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"}'

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

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

响应出上面信息代表已经修改成功,可以去控制台也可以看到新的证书了;
把上面的”enabled”改为 false 提交一次,再改为 true 反复提交一次,刷新重新颁发证书;

或者在控制台 SSL/TLS – 边缘证书 – 禁用通用 SSL,先禁用,再启用,就会更新到新证书;

结语

博主自己使用 Cloudflare 自带的 DigiCert 根证书,因为其证书兼容性更广,证书链也更短,只有一级中间证书,访问速度相对较快。

这里注意下,貌似修改以后短时间内是无法再次修改的,估计是不让频繁更换证书类型。

© 本站文章随意转载,但请注明出处!
THE END
点赞12 分享
评论 抢沙发
头像
务必使用真实的邮箱地址评论,虚假邮箱的评论将不通过审核及无回复。
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容