---
title: "理解 HTTPS 证书链与续期自动化"
slug: "20261005124433"
date: "2026-06-30 11:00"
updated: "2026-10-05T12:44:07+08:00"
category: "笔记"
tags: ["HTTPS", "网络", "证书"]
description: "证书过期导致的事故数不胜数。理解证书链结构，并用 ACME 自动续期，能根治这类问题。"
url: https://blog.dayuai.com/20261005124433
---
## 证书链是什么

浏览器验证一张证书时，不是只看它自己，而是沿「站点证书 → 中间证书 → 根证书」一路向上。缺少中间证书，很多客户端会报「证书不受信任」。

## 自动化续期

Let's Encrypt 的证书只有 90 天，手动续期迟早会忘。用 `certbot` 或者 `acme.sh` 配合定时任务即可：

```bash
0 3 * * * /usr/bin/certbot renew --quiet
```

关键在于：续期后必须**重载服务**（nginx 等）才能生效，否则证书换了但进程还握着旧文件。

## 排查清单

1. 用 `openssl s_client -connect host:443` 看实际下发的链。
2. 确认中间证书已拼接进 fullchain。
3. 确认定时任务的输出有被监控（续期失败要告警，而不是静默）。
