返回目录

HTTPS 上线之后,还需要维护什么

> 日期说明:归档日期为历史整理日期,不代表原始首发时间;本文于 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/)