HTTPS 证书签好就自动开启,看门狗办完自删
背景和需求
网站绑定自定义域名之后,GitHub Pages 要给域名签发 HTTPS 证书。证书什么时候签好不确定,可能几分钟,也可能要等很久。签好之前「强制 HTTPS」开关是灰的,签好之后得有人去打开。
人去盯很浪费时间,这正适合交给一个一次性的例程:一直等到条件满足,把事办了,然后自己删掉。
怎么跟 Grok Bot 说
text
帮我盯着 wangxxxl.com 的 HTTPS 证书:
- 每 20 分钟查一次 GitHub Pages 的证书状态。
- 证书一签好,就打开「强制 HTTPS」,然后用 https 打开网站确认能访问,告诉我一声。
- 办完把这个例程删掉,别一直跑。
- 如果到明天中午 12 点还没签好,也告诉我,我们再想办法。它做了什么
- 建例程:间隔 20 分钟运行一次。
- 每次运行:用 GitHub 命令行查询发布仓库的 Pages 状态,看证书字段是否已签发。没签好就安静结束,不发消息打扰人。
- 满足条件时:打开强制 HTTPS,用 https 实际请求网站确认能访问,在聊天里通知,然后删除这个例程。
- 兜底:到截止时间还没签好,就发一条消息说明情况,不会无声无息地一直跑下去。
- 跟着变化调整:源码仓库改成私有、改由公开仓库发布之后,例程查询的对象也同步改成了新的公开发布仓库。
bash
gh api repos/你的账号/你的发布仓库/pages --jq '{status, https_enforced, https_certificate}'踩坑与解决
- 改了仓库,例程也要跟着改:网站从源码仓库搬到发布仓库后,如果例程还查老仓库,就永远等不到证书。仓库一换,例程里的查询对象也要一起换。
- 「没结果」时别刷屏:例程每 20 分钟跑一次,没签好就不发消息,只有办完事或到截止时间才说话。
- 一定要有截止时间:没有兜底的等待例程,可能悄悄跑很久。
效果
- 不用人守着证书。截至本文写作时(2026 年 10 月 20 日晚),GitHub 还没有给这个域名签发证书,例程仍在按 20 分钟的间隔检查;签好之后它会自动开启强制 HTTPS 并删除自己。
- 这套「等条件 → 办事 → 通知 → 自删」的写法,可以套到任何「等某件事发生」的场景:等审批通过、等快递签收、等某个页面上线。
可以直接用的例程写法
text
例程名:等待(填写条件)
时间:每 20 分钟运行一次
每次:
1. 检查:(填写怎么判断条件满足,比如某个接口的某个字段)
2. 没满足:直接结束,不要给我发消息。
3. 满足了:执行(填写要做的事),确认结果生效,然后通知我,并删除这个例程。
4. 到(填写截止时间)还没满足:通知我当前状态,等我决定是否继续。