很多用户因为使用优选 IP,就和腾讯云自动申请证书产生了冲突,导致无法自动完成证书的签发和部署。本来我企图找到类似于 Cloudflare 那样的通过 DCV 委派来签发证书的方式,但是翻了一阵之后发现腾讯云并不提供 DCV 委派,所以只能另寻他法。

好在,腾讯云的证书管理是支持自己手动上传自己的证书的。最开始我就是在控制台搜索证书管理,进入之后手动上传了自己通过 acme.sh 签发的通配符证书,然后在 EdgeOne 手动地把所有子域名都部署上证书。但是因为 acme.sh 签发的证书有效期都只有 3 个月了,这就意味着手动操作会需要每三个月都要执行一次,还是有点麻烦的,所以我又开始寻找通过 API 完成手动上传并部署证书到 EdgeOne 的办法。

经过一顿翻,找到了这个项目。

这个项目支持 GitHub Actions 部署,每月自动申请并部署,所以懒惰的我就 try 了 try,但免费的就是最贵的,经过我两天半的奋战才搞好(`へ´)

准备工作

  • GitHub 账号
  • EdgeOne 账号
  • 脑子

开始操作

Fork 这个仓库

打开这个项目,点击右上角的 Fork,取个好听的名字,然后 Create fork

Screenshot_2025-07-25_19-39-06

添加环境变量

进入你 Fork 的这个仓库,点击上方的 Settings

image-20250725194701799

接着滑到下面,进入 Secrets and variables -> Actions,在右侧点击 New repository secret

Screenshot_2025-07-23_17-54-17

添加如下环境变量:

  • ACME_DNS_TYPE: Acme 的 dns 类型。域名托管在 cloudflare 就写 dns_cf,dnspod 就写 dns_dp
  • ACME_DOMAIN: 你的顶级域名,例如:airtouch.top

打开 腾讯云 api,点击 新建密钥,在弹出的窗口中复制 SecretIdSrcretKey,填写到环境变量SECRETIDSECRETKEY

image-20250725195053083

再打开 EdgeOne,找到 zone-xxxxx 这一串东西复制,填写到环境变量 ZONE_ID

image-20250725195726570

打开 Cloudflare控制台,进入你的域名,划到最下面,复制账户ID,填写到环境变量 CF_Account_ID

image-20250727120709349

然后点击下面的 获取您的 API 令牌,点击创建令牌,选择编辑区域 DNS

image-20250727120804404

选择你的域名

image-20250727120837829

继续点击创建令牌,复制下来,填写到环境变量 CF_TOKEN

image-20250727120953275
  • CDN_DOMAIN: CDN 域名,多个域名用逗号分隔,比如我的就是 blog.airtouch.top
  • BARK_HOST: Bark 消息通知 Host(可选)
  • BARK_KEY: Bark 消息通知 Key(可选)
  • UPDATE_SSL:填 False
  • DELETE_OLD_CERTS:是否需要删除过期证书(True/False
  • PUSH_URL:填 False
  • PURGE_URL:填 False
  • ENABLE_HSTS:填 False
  • ENABLE_OCSP:填 False
  • ENABLE_HTTP2:填 False

打开 Github Actions

在上方找到 Actions 进入

image-20250725195829887

先点击绿色的 I understand 进入,再在左侧找到 Update Cert,点击右侧的 Enable workflow,这样就启用了 Actions

Screenshot_2025-07-23_18-46-19

如果你想手动测试一下,那么点击 Run workflow-> Run workflow,这样就运行了。

image-20250725200053681

每个月都会这样自动运行,续期一次


共发表 23 篇Blog · 总计 19.9k 字
© 2025 AirTouch 使用 Stellar 创建
萌ICP备20250662号 雾备 88666688号 网ICP备20258888号
本站总访问量次 本站访客数人次 本文总阅读量