通过 API 更换 Cloudflare SSL 证书类型
前言
话说用 Cloudflare 的免费版有个好处,就是证书不用自己操心,它自动给你安排得明明白白。
不过呢,免费计划里其实有三种证书可选:Let’s Encrypt、Google Trust Services、还有 SSL.com。它们都是三个月有效期的。
默认情况下 Cloudflare 会自动挑 Let’s Encrypt 或 Google Trust Services 用。但如果哪天你想换个口味,比如用 SSL.com,那就得自己动手改一改了——因为控制台没给这个选项,得用 API 来搞。
2025年3月更新:DigiCert 一年期证书已经没了,现在新增了 SSL.com 三个月期证书。
一、先把家伙准备好
搞之前得备齐三样东西:Zone ID、邮箱 和 Global API Key。没这些,后面玩不转。
1. Zone ID 在哪找?
- 登录 Cloudflare Dashboard
- 选中有问题的那个域名,点进去
- 左边菜单找 概述
- 页面右下角有个 API 区域,区域 ID 就在那儿,复制一下
2. Global API Key 怎么拿?
- 点右上角那个小人头 → 我的个人资料
- 左边菜单选 API 令牌
- 找到 API 密钥 这一栏
- 点 Global API Key 后面的 查看
- 会让你验证邮箱,验证完复制 Key 就行
友情提醒:API Key 就相当于你的账号密码,可别随手发给别人!
二、开搞!敲命令换证书
打开终端,把下面这坨命令复制进去,记得把占位符换成你自己的信息:
1 | curl -X PATCH "https://api.cloudflare.com/client/v4/zones/你的Zone_ID/ssl/universal/settings" \ |
证书类型参数对照表
| 想用哪个 | 参数填啥 |
|---|---|
| Let’s Encrypt | lets_encrypt |
| Google Trust Services | google |
| SSL.com | ssl_com |
拿 Let’s Encrypt 举例:
1 | curl -X PATCH "https://api.cloudflare.com/client/v4/zones/你的Zone_ID/ssl/universal/settings" \ |
三、看看改成功没
执行完如果顺利,返回的 JSON 里 success 应该是 true:
1 | { |
要是 success 变成 false 了,先检查一下命令里的参数填对了没有。
命令行快速验货
1 | curl -Iv https://你的域名.com 2>&1 | grep "issuer" |
这个能直接看到现在用的是哪个证书。
四、万一证书没更新怎么办
有时候改完网页显示的还是旧证书,别慌,强制刷新一下:
- 进 Cloudflare 控制台
- 找到 SSL/TLS → 边缘证书
- 先把 通用 SSL 关掉,等个几秒
- 再重新开启
- 清除浏览器缓存,打开网站看看
搞定收工!
证书换成你想要的了,接下来就不用操心了,Cloudflare 会自动续期的。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Kaze's Home!
评论





