在运维工作中,有一类事故极其低级却又杀伤力巨大:SSL 证书过期。
痛点:被动挨打的“救火”模式
由于业务需要,我手里管理着大量客户的域名。每个客户购买证书的渠道各异(阿里云、腾讯云或其他厂商),证书下来后通过微信或邮件发给运维,再手动配置到服务器上。
这套流程在客户少的时候还算正常。但随着客户增多,问题出现了:证书到期时间不一,全靠人工记忆。
总会有那么一两次,因为忙碌或者交接疏忽,某个域名证书悄悄过期了。直到客户反馈 APP 无法访问、浏览器弹出红色的安全告警,我们才急忙去“救火”。这种被动的局面不仅影响专业度,也给客户带来了实际损失。
方案:主动出击的自动化巡检
为了彻底根治这个“心病”,我决定做一个自动化的域名证书检测工具。
我的设想很简单:变“人找信息”为“信息找人”。
1. 实现原理
- 配置简单化:将所有需要监测的域名汇总成一个
txt文件,每行一个域名,管理起来极其方便。 - 核心引擎(Go):使用 Go 语言开发后端服务,利用
cron库开启定时任务,设定每天固定时间(如凌晨 4 点)执行一次巡检。 - 检测逻辑:程序自动循环读取域名列表,通过 TLS 握手获取证书的有效载荷,计算当前的剩余天数。
- 精准预警:我设定了一个“7天阈值”。一旦发现有域名将在 7 天内过期,程序会立即将这些域名汇总。
2. 消息触达:为什么选择机器人?
在小程序中,邮箱属于敏感隐私资料,审核往往比较严格。为了避开这个麻烦,同时也为了让通知更具实时性,我选择了钉钉机器人和企业微信机器人。
管理员或运营人员只需将机器人的 Webhook 地址配置好,每天早上一上班,就能在手机上收到一份清晰的到期清单。

价值:买到了最宝贵的“时间”
这个功能上线后,我们最直接的收获就是**“沟通时间”**:
- 提前预判:有了 7 天的缓冲期,运营人员可以气定神闲地与客户沟通续费。
- 提前操作:运维人员有了充裕的时间更换新证书,彻底杜绝了“半夜修证书”的尴尬。
总结
很多时候,自动化并不是为了追求多么高大上的技术,而是为了把人从那种机械、高风险的记忆工作中解放出来。
这个小工具的逻辑虽然简单,但它是我内容生态中非常重要的一环。它验证了:只要抓住了痛点,简单的技术组合也能产生巨大的生产力。