DogeLee2 发表于 2025-3-10 15:10:41

用api切换cf的证书

本帖最后由 DogeLee2 于 2025-3-10 15:12 编辑


1 前言

之前写过一篇   用api把cloudflare的证书换成自家一年的

https://qklg.net/post/20230628/

cf的一年的digicert已经没有了, 现在多了一种三个月的ssl.com的,
cf官方说兼容性极强,原文如下
[*]SSL.com 兼容性高度强,被超过 99.9% 的浏览器、平板电脑和移动设备所接受。
[*]SSL.com 证书与 Certum ↗交叉签名,并且对中间体↗进行交叉签名的 CA来自 2004 年。
[*]复制代码

https://developers.cloudflare.com/ssl/reference/certificate-authorities/

https://developers.cloudflare.com/api/resources/acm/subresources/total_tls/methods/get/

2 切换办法

三种证书都可以切换,用小鸡上curl就可以了

切换成ssl.com的
[*]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":"ssl_com"}"
[*]复制代码

切换成谷歌的
[*]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的
[*]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"}"
[*]复制代码

3 参数替换

参数的话,三个需要替换下

你的域名区域id

打开你的域名,域名 右下角有个区域id,复制粘贴下就ok了


https://i.imgur.com/c9Nv2Ab.png


邮箱

就是你cf的邮箱,不知道的话打开 https://dash.cloudflare.com/profile 看下就知道了


https://i.imgur.com/Hvs2YdH.png


你的global api key

https://dash.cloudflare.com/profile/api-tokens

点击查看,就有了


https://i.imgur.com/ZbLCBnN.png


4 效果

curl打完之后,出现如下就是成功了
[*]{"result":{"enabled":true,"certificate_authority":"ssl_com"},"success":true,"errors":[],"messages"
[*]复制代码


https://i.imgur.com/V9EdDvI.png


cf后台出现新证书了


https://i.imgur.com/qqHbsTI.png


域名也可以看到是新证书了


https://i.imgur.com/VyKuUEf.png

wawos 发表于 2025-3-10 15:14:30

楼主研究怎么给自定义主机名也切换证书啊,

目前它ttl/tls里面自定义域名的证书默认始终是google的,
但是google的证书如果访问者是tlsv1.2 (很多api抓取 或者蜘蛛机器人都是tls1.2),且它在大陆,

访问海外站点会直接被阻断

DogeLee2 发表于 2025-3-10 15:15:46


wawos 发表于 2025-3-10 15:14

楼主研究怎么给自定义主机名也切换证书啊,

目前它ttl/tls里面自定义域名的证书默认始终是google的,

saas吗
不会,cf pages也没法切
要不然签名博客早就换了
我现在let's全家桶,小鸡cf全是let's
我域名都直接托管过去的
你都用saas了,直接自己搞个线路鸡完事了

wawos 发表于 2025-3-10 15:14:00


DogeLee2 发表于 2025-3-10 15:15

saas吗
不会,cf pages也没法切
要不然签名博客早就换了
对, 如果用户是比较旧的浏览器的话, 只支持tls 1.2,

也会导致访问直接被阻断

DogeLee2 发表于 2025-3-10 15:19:46


wawos 发表于 2025-3-10 15:19

对, 如果用户是比较旧的浏览器的话, 只支持tls 1.2,

也会导致访问直接被阻断 ...
谷歌这个阻断我之前就见到有人说过
反正我随缘了,打不打得开随便他去了
页: [1]
查看完整版本: 用api切换cf的证书