拿日历数一下换证书的次数。2026 年 3 月 15 日以前签发的公网 TLS 证书最长能用 398 天,每年动一回就够。3 月 15 日起上限压到 200 天,一年起码换两次,现在新签的都在这一档。2027 年 3 月 15 日开始只给 100 天,差不多每个季度都要来一遍。2029 年 3 月 15 日以后上限是 47 天,要是照常在寿命过了三分之二时续、留点余量,差不多每月都得换一次。一台 IIS 上要是挂着五六个站点、各用一张证书,靠远程桌面手工导入 pfx、改绑定,一年下来得操作几十回。
时间表的出处
日期出自 CA/B 论坛的 Ballot SC-081v3,2025 年 4 月投票通过,改动落在 TLS Baseline Requirements 的 6.3.2 节。硬上限(MUST NOT)依次为 398、200、100、47 天,建议值(SHOULD NOT)各少一天:397、199、99、46。BR 还规定一天按 86400 秒计,不足一天的零头也算一整天,所以条文建议签发时别顶着上限来。
同一份投票也改了 4.2.1 节的域名验证复用期。它从 398 天起步,和有效期同步降到 200、100。2029 年 3 月 15 日以后,复用期只剩 10 天。也就是说,往后续期几乎每回都得重新证明域名控制权,HTTP 文件或 DNS 记录得能让程序自动放上去。这些要求管的是公开信任的 TLS 服务器证书,内网企业 CA 签的不在范围里。
Let’s Encrypt 在 2025 年 12 月发了公告,按公告里的日程,2026 年 5 月 13 日起,需要主动选用的 tlsserver 配置档改发 45 天证书。默认的 classic 档 2027 年 2 月 10 日改成 64 天,2028 年 2 月 16 日再降到 45 天。授权复用期最终会从 30 天缩到 7 小时。公告明说不建议手动续期,推荐客户端开 ARI(ACME Renewal Information),还要配上监控,没按时续上能报警。
IIS 这边能自动化的几块
公网证书想自动续,现成的协议是 ACME。Windows 上的客户端做的事大同小异:申请、验证、装进证书存储、改 IIS 绑定,再建一个计划任务定期跑。拿 win-acme 举个例子,它的 settings 文档里 RenewalDays 默认是 55,说明文字还是按 90 天证书写的。另有 RenewalMinimumValidDays 兜底,默认剩不到 7 天就强制续。有效期缩短以后,要确认 ARI 没被关掉(RenewalDisableServerSchedule 保持 false)。失败邮件也得配上,SmtpServer、SenderAddress、ReceiverAddresses 缺一个就收不到通知。用别的客户端的,也最好照着这几项过一遍。
多台服务器做负载的,可以看 IIS 8.0 起带的 Centralized SSL Certificate Support。它是可选组件,默认不装。所有 pfx 放进一个 UNC 共享目录,文件名遵循 CN名.pfx 规则,通配符证书写成 _.contoso.com.pfx。IIS 根据 SNI 或主机名找到对应文件,全部站点共用一条 HTTPS 绑定。续期只要更新目录里那一份,IIS 管理器还能按「已过期 / 明天到期 / 本周到期」分组查看。ACME 客户端要是能直接写进 Central Store,手工拷贝这步也省了。
只在内网用的站点,有 AD CS 企业 CA 的话可以走证书自动注册:组策略里启用 Certificate Services Client - Auto-Enrollment,勾上 Renew expired certificates… 和 Update certificates that use certificate templates 两项。IIS 8.5 起还有 Certificate Rebind,在服务器节点的 Server Certificates 里点 Enable Automatic Rebind of Renewed Certificate 就能开启。开启后 IIS 会注册一个计划任务,盯着 ID 1001 的续期事件,触发后调用 appcmd,把旧证书绑过的站点换成新的。两样一起配,从续期到绑定全程不用人碰。
到期监控最好从外面查,定时连 443 读剩余天数,别只信续期程序自己的日志。计划任务要是被误删,程序压根不会运行,也就不会留下任何记录。机器一多,把各站点的到期日汇到一处看,比挨个登服务器省事。
你们 Windows 上的公网站现在怎么续,走 HTTP-01 还是 DNS-01?