Skip to content
实战案例

HTTPS 证书签好就自动开启,看门狗办完自删

每 20 分钟查一次证书状态,签好就开启强制 HTTPS,通知一声后删除自己。

约 1 分钟读完566 字最近更新 2026-10-20#实战案例#业务自动化#例程#GitHub

HTTPS 证书签好就自动开启,看门狗办完自删 ​

背景和需求 ​

网站绑定自定义域名之后,GitHub Pages 要给域名签发 HTTPS 证书。证书什么时候签好不确定,可能几分钟,也可能要等很久。签好之前「强制 HTTPS」开关是灰的,签好之后得有人去打开。

人去盯很浪费时间,这正适合交给一个一次性的例程:一直等到条件满足,把事办了,然后自己删掉。

怎么跟 Grok Bot 说 ​

text
帮我盯着 wangxxxl.com 的 HTTPS 证书:
- 每 20 分钟查一次 GitHub Pages 的证书状态。
- 证书一签好,就打开「强制 HTTPS」,然后用 https 打开网站确认能访问,告诉我一声。
- 办完把这个例程删掉,别一直跑。
- 如果到明天中午 12 点还没签好,也告诉我,我们再想办法。

它做了什么 ​

  1. 建例程:间隔 20 分钟运行一次。
  2. 每次运行:用 GitHub 命令行查询发布仓库的 Pages 状态,看证书字段是否已签发。没签好就安静结束,不发消息打扰人。
  3. 满足条件时:打开强制 HTTPS,用 https 实际请求网站确认能访问,在聊天里通知,然后删除这个例程。
  4. 兜底:到截止时间还没签好,就发一条消息说明情况,不会无声无息地一直跑下去。
  5. 跟着变化调整:源码仓库改成私有、改由公开仓库发布之后,例程查询的对象也同步改成了新的公开发布仓库。
bash
gh api repos/你的账号/你的发布仓库/pages --jq '{status, https_enforced, https_certificate}'

踩坑与解决 ​

  • 改了仓库,例程也要跟着改:网站从源码仓库搬到发布仓库后,如果例程还查老仓库,就永远等不到证书。仓库一换,例程里的查询对象也要一起换。
  • 「没结果」时别刷屏:例程每 20 分钟跑一次,没签好就不发消息,只有办完事或到截止时间才说话。
  • 一定要有截止时间:没有兜底的等待例程,可能悄悄跑很久。

效果 ​

  • 不用人守着证书。截至本文写作时(2026 年 10 月 20 日晚),GitHub 还没有给这个域名签发证书,例程仍在按 20 分钟的间隔检查;签好之后它会自动开启强制 HTTPS 并删除自己。
  • 这套「等条件 → 办事 → 通知 → 自删」的写法,可以套到任何「等某件事发生」的场景:等审批通过、等快递签收、等某个页面上线。

可以直接用的例程写法 ​

text
例程名:等待(填写条件)
时间:每 20 分钟运行一次
每次:
1. 检查:(填写怎么判断条件满足,比如某个接口的某个字段)
2. 没满足:直接结束,不要给我发消息。
3. 满足了:执行(填写要做的事),确认结果生效,然后通知我,并删除这个例程。
4. 到(填写截止时间)还没满足:通知我当前状态,等我决定是否继续。