离线文本版 · Markdown 标记与示例按原文保留。
> 日期说明:归档日期为历史整理日期,不代表原始首发时间;本文于 2026-11-02 核对并修订。命令示例需按实际环境替换占位符。 浏览器出现锁形标记,只说明这次连接满足了相应的 HTTPS 条件。证书续期、域名解析和代理配置仍然需要持续维护。 ## 证书自动续期不是“申请成功”的附带结果 证书工具可以申请证书,但定时任务是否安装、验证路径是否保持可达、续期后服务是否重新加载,都需要单独确认。设置自动续期后,还应使用工具支持的测试模式检查整个流程。 <!-- more --> ## HTTP 验证路径要能被访问 HTTP-01 通常通过 80 端口下的 `/.well-known/acme-challenge/` 验证域名控制权。反向代理、强制认证或错误的站点匹配,都可能使这个路径失效。使用 DNS-01 时,则需维护 DNS API 凭据与自动化配置。 ## 续期成功后,服务可能还在用旧证书 部分 Web 服务需要 reload 才会读取更新后的文件。证书工具与 Web 服务在不同容器中时,还要检查挂载路径、权限,以及复制后的文件是否真正更新。 ## 域名验证与协议验证分别进行 请求域名时应检查证书主机名、有效期和信任链。TLS 1.3 与 HTTP/2 是独立的协商结果:启用了其中一个,不代表另一个必然可用。 ## 保留最小变更与回滚文件 编辑 Nginx 配置前备份,运行配置检查,通过后再重载。不要把备份命名成仍被通配符加载的配置文件,否则可能造成重复监听或站点冲突。 一个可长期运行的 HTTPS 站点,需要的是可重复的续期流程和可观察的结果,而不仅是一张当前有效的证书。 ## 操作参考与适用边界 ### 校验证书与协商结果 ```sh openssl s_client -connect example.com:443 -servername example.com -verify_hostname example.com -alpn h2 </dev/null ``` 检查 verify return code、证书 SAN 和到期日。仅能握手不代表主机名校验通过;测试时不要用跳过证书验证来作为最终验收。 ### 如何判断结果 操作后应将实际结果与文中目标对照;命令成功退出只能证明该步骤完成,不能替代业务层验证。记录异常信息时,保留时间、软件版本与相关上下文,方便后续复查。 ## 参考资料 - [官方文档与规范](https://letsencrypt.org/docs/challenge-types/)(本次整理参考,页面内容可能随版本更新) - [继续阅读本站归档](/archives/)