全球主机交流论坛

标题: 用api把cloudflare的证书换成自家一年的 [打印本页]

作者: DogeLee2    时间: 2023-6-29 15:49
标题: 用api把cloudflare的证书换成自家一年的
本帖最后由 DogeLee2 于 2023-6-29 15:57 编辑

  cloudflare目前的话提供了四种证书,一种是自家一年的,还有let‘s的,谷歌的,都是三个月的,还有setcigo的三个月的,但是怎么没见到,之前的话一直都是一年的证书,现在基本上都是三个月的,主要是let‘s和谷歌的两种,比方说隔壁nodeseek就是谷歌的三个月的,隔壁v2ex的是一年的,其实我们可以利用api来切换这,参考cloudflare的文档里的[certificate authority]https://developers.cloudflare.com/ssl/reference/certificate-authorities/)
来切换四种证书,其实也可以完全不管,因为都是自动签的,let's的证书的话可能会导致部分旧平台,比方说旧安卓手机和win7的电脑兼容性不好,还有国产的360浏览器不把它添加进信任列表,所以切不切其实看你自己了
下面介绍两种办法来切证书,其实都是发起api来的,本质上一样的,只是第一种稍微简单点
首先都要申请global api key
<https://dash.cloudflare.com/profile/api-tokens>

第一种方法
dnsfalre,这个是我之前用来修改以前cfp的cname接入的域名时候发现的,具体怎么玩可以参考这个大佬的博客<https://luotianyi.vc/6415.html>,可以自己部署,我们这次只是用来修改证书
作者github的项目地址<https://github.com/5aaee9/Dnsflare>
我们直接用作者的演示站就行了,是本地浏览器发起api请求的
打开<https://dnsflare-indexyz.vercel.app/>,
输入你的邮箱和global api key
点击提交登录

选择你的域名
点击下面的证书供应商,就可以切换你的域名的证书了,选择digicert就是cf自家的一年的了,let's和谷歌的话就是三个月的,有cf自家当然选cf自家的了


这时候我们去cf的后台,就可以看到cf的自家的一年证书已经签发了


第二种,
打开cf你的域名,域名那边有个域名区域id,要用的

然后在小鸡的ssh上打下面的命令

  1. curl -sX PATCH "https://api.cloudflare.com/client/v4/zones/你的域名区域id/ssl/universal/settings" -H "X-Auth-Email:你的邮箱" -H "X-Auth-Key:你的global api key" -H "Content-Type: application/json" --data "{"certificate_authority":"digicert"}"
复制代码


换成谷歌的话就把digicert换成google

  1. curl -sX PATCH "https://api.cloudflare.com/client/v4/zones/你的域名区域id/ssl/universal/settings" -H "X-Auth-Email:你的邮箱" -H "X-Auth-Key:你的global api key" -H "Content-Type: application/json" --data "{"certificate_authority":"google"}"
复制代码



换成let's的digicert 为 lets_encrypt

  1. curl -sX PATCH "https://api.cloudflare.com/client/v4/zones/你的域名区域id/ssl/universal/settings" -H "X-Auth-Email:你的邮箱" -H "X-Auth-Key: 你的global api key" -H "Content-Type: application/json" --data "{"certificate_authority":"lets_encrypt"}"
复制代码


如果出现以下结果的话,就是成功了

  1. {"result":{"enabled":true,"certificate_authority":"lets_encrypt"},"success":true,"errors":[],"messages"
复制代码


如果没反应的话,打开cf的控制台,禁用通用ssl,然后再打命令,然后再启用,反复多试几次就行了


作者: a4425656    时间: 2023-6-29 15:50
技术贴 支持



zsbd zsbd zsbd
  

作者: mgwx    时间: 2023-6-29 15:55
支持 支持
作者: 7777    时间: 2023-6-29 16:06
用自己的证书不是要付费套餐吗?
作者: DogeLee2    时间: 2023-6-29 16:15
7777 发表于 2023-6-29 16:06
用自己的证书不是要付费套餐吗?

这又不是自己的证书,还是cf颁的那几种
这是换证书,cf颁的几种证书,可以用api切的
作者: 会做墙头草    时间: 2023-6-29 16:43
牛逼
作者: 7777    时间: 2023-6-29 16:46
DogeLee2 发表于 2023-6-29 16:15
这又不是自己的证书,还是cf颁的那几种
这是换证书,cf颁的几种证书,可以用api切的 ...

了解  已经签发了google的 就是感觉生效有点慢
作者: 眼儿媚    时间: 2023-6-29 16:48
感谢分享!
作者: ZeroOne    时间: 2023-6-29 17:09
SaaS接入貌似删掉重新添加就可以了
作者: jacob    时间: 2023-6-29 17:27
mack
作者: chancat    时间: 2023-6-29 18:25
能自动续期不
作者: Overbye    时间: 2023-6-30 02:33

技术贴 支持
作者: 燕十三丶    时间: 2023-6-30 02:37
学到了 mark      
作者: 机长    时间: 2023-7-1 18:40
本帖最后由 机长 于 2023-7-1 18:54 编辑

{"success":false,"errors":[{"code":6007,"message":"Malformed JSON in request body"}],"messages":[],"result":null}

解决了,LZ格式没说清楚

# On Linux
--data '{"purge_everything":true}'

# On Windows
--data "{\"purge_everything\":true}"
作者: NoctuG    时间: 2023-7-1 18:42
支持大佬
作者: diocat    时间: 2023-7-1 20:18
但是只有google gts在国内有ocsp服务器




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4