SSL证书监控
过期的SSL证书会在午夜时分让所有浏览器失效。提前30天以上预防此类问题。
错过SSL续期的代价
SSL证书在23:59:59过期时,并不会渐进式失效。到了次日00:00:00,每个浏览器都会弹出全屏的安全警告,每个API客户端在TLS握手时都会失败,每个webhook集成返回报错,每个搜索引擎都会降低你的网站排名,每封邮件都会被退回(如果该证书也覆盖SMTP的话)。修复很快——重签、重新部署——但过期与解决之间的窗口期非常残酷,因为没有人会在午夜前注意到证书,只有在午夜后才会发现。
SSL监控的目的是让你提前在午夜前发现。监控器会从实际主机读取证书,解析有效期,并提前很长时间发出警告——30天、14天、7天、3天、1天——因此续期永远不会让你措手不及。
监控内容
对于每个被监控的HTTPS网站,DiagnoSEO Uptime Monitoring会建立TLS连接,抓取对端证书并进行解析。系统会在面板中记录:
- 有效性:证书当前是否在有效期内?
- 距离过期天数:滚动计数,以彩色标记显示(绿色 >30天,橙色8-30天,红色 <8天)。
- 到期日期:准确到期时间。
- 颁发者:签发此证书的机构(Let's Encrypt、DigiCert、GlobalSign等)。
- 主题:证书上的通用名称。
如果证书变为无效——过期、主机名不匹配、链路损坏、不该自签却是自签——监控都会报告SSL无效,无论HTTP状态如何。“HTTPS损坏但服务器在线”状态会被立即发现。
告警阈值
本工具会在五个阈值下触发SSL警告:到期前30、14、7、3和1天。每个告警都独立。如果你同时开启了邮箱和Telegram通知,快到期时你会收到五次逐渐紧急的提醒。第一次(30天)用于规划续期,14天用于“真的,该本周处理了”。7天、3天和1天用于防止续期遗漏,有人需要立刻介入。
你可以针对每个渠道关闭这些告警——有些团队只想用邮件提醒SSL,不想在Slack/Telegram收到(这些消息可能会被信息流淹没)。可在通知设置中配置。
为什么自动续期并不够
如果用的是Let's Encrypt搭配certbot或类似工具,你可能觉得SSL监控没必要。其实不然。自动续期可能因多种原因失败:certbot账号邮箱失效、ACME挑战由于防火墙规则变化失效、续期的cron不工作、容器重启导致续期状态丢失、域名验证因DNS改动失败。无论哪种,证书都走向过期,自动续期救不了你。SSL监控就是自动化失效时的安全网。
对于内部证书(公司CA、双向TLS)通常根本就没有自动续期——SSL监控是你唯一能主动获知需要续期的信号。
配置说明
DiagnoSEO Uptime Monitoring里的每个HTTPS监控器,都会自动开启SSL监控,无需单独操作。下次进行深度检测时(添加监控器24小时内或点击“立即检查”时),该监控行的SSL部分会填上颁发者、到期日和剩余天数。此后,监控会严格盯证书有效性,并在30/14/7/3/1天做告警。
对非HTTPS的监控,SSL部分会被忽略。如果是自定义SSL端口,工具会尝试对应端口(默认为443;SMTPS用465,IMAPS用993等,按监控类型而异)。
常见问题
-
标准告警阈值为到期前30、14、7、3与1天。30天可让你在工作时间安排续期,后续提醒逐步加急。如果你依赖于自动续期(例如Let's Encrypt + certbot),7天告警关键用于核查续期流程是否真正生效——自动续期静默失败非常常见,只有独立监控能发现。
-
可以。监控会执行真实的TLS握手并检查返回的证书。如果证书过期、自签名、CN/SAN与主机名不符或由未知CA签发,检查会给出具体错误。这能捕捉“证书技术上有效但部署错误”的情况,浏览器同样会提示这些问题。
-
缺失中间证书会导致很多TLS客户端(如curl、老Android设备)出现“链路不完整”错误,即便桌面浏览器可以通过链路下载自动恢复。我们的SSL检查需完整且有效的链路,没中间证书时检查会失败,从而能在移动端用户出问题前发现隐患。
-
可以——配置监控URL带上端口,例如
https://api.example.com:8443/。监控会连到对应端口进行TLS握手并读取证书。SMTP STARTTLS、IMAP/POP3 TLS等在自定义端口上的协议也都支持。 -
不会。TLS握手和证书检查是每次HTTPS检测的组成部分——不增加任何额外费用。5个阈值的到期提醒同样免费。只有针对域名到期的WHOIS查询作为辅助功能,是按照独立的每日计划执行。
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic