# Let's Encrypt 关闭 OCSP 服务，吊销信息改走 CRL

> Let's Encrypt 于 2025-08-06 关闭 OCSP 响应服务，此前已从新证书中移除 OCSP 地址并停止 Must-Staple，吊销信息只通过 CRL 发布。

Source: https://ssl.sh/zh/news/lets-encrypt-ends-ocsp/
Last updated: 2026-11-10

2025 年 8 月 6 日，Let's Encrypt 关闭了 [OCSP](https://ssl.sh/zh/glossary/ocsp/) 响应服务，全球签发量最大的 CA 从此不再提供证书状态的实时查询。吊销信息改为只通过[证书吊销列表（CRL）](https://ssl.sh/zh/glossary/crl/)发布，CRL 的地址写在每张证书里。这是 2024 年 12 月 5 日公布的计划的最后一步。

## 发生了什么

Let's Encrypt 放弃 OCSP 的主要理由是隐私：每次查询都等于告诉 CA“某个用户正在访问某个网站”。OCSP 的工作方式是客户端拿着某张证书去问 CA“这张证书有没有被吊销”。CA/B 论坛的 SC-063 投票自 2024 年 3 月 15 日起把 OCSP 改为可选、把 CRL 改为必备，这为 Let's Encrypt 彻底放弃 OCSP 扫清了规则上的障碍。

具体时间线：

- **2024-12-05**：公布计划。
- **2025-01-30**：拒绝新的 [OCSP Must-Staple](https://ssl.sh/zh/glossary/must-staple/) 订单，此前签发过 Must-Staple 证书的账户暂时除外。
- **2025-05-07 之前**：证书中加入 CRL 分发点地址。
- **2025-05-07**：新证书不再包含 OCSP 地址，所有 Must-Staple 订单一律拒绝。
- **2025-08-06**：关闭 OCSP 响应服务。

Let's Encrypt 证书有效期是 90 天，所以 5 月 7 日前最后一批带 OCSP 地址的证书，在 OCSP 服务关闭时已经全部过期，不存在“证书里写着 OCSP 地址却查不到”的情况。

## 影响谁

主流浏览器基本不受影响，受影响的是仍在用 OCSP 的服务器和客户端：

- **开启了 [OCSP 装订](https://ssl.sh/zh/glossary/ocsp-stapling/)的服务器。** 证书里没有 OCSP 地址后，nginx 会在日志里报类似 `"ssl_stapling" ignored, no OCSP responder URL in the certificate` 的警告并跳过装订。网站照常访问，但这段配置已经没有作用。宝塔面板等工具生成的 nginx 配置里如果带有 `ssl_stapling`，也是同样的情况。
- **使用 Must-Staple 的用户。** Let's Encrypt 不再签发带 Must-Staple 扩展的证书，配置了该选项的 ACME 客户端会申请失败，必须先去掉这个选项。
- **强制要求 OCSP 应答的客户端。** 一些自研软件、企业代理设备或嵌入式设备如果拿不到 OCSP 应答就直接拒绝连接，需要改为检查 CRL，或者不再强制在线查询。

浏览器不依赖 Let's Encrypt 的 OCSP 服务：Chrome 使用自己的 CRLSet，Firefox 也在转向 [CRLite](https://ssl.sh/zh/glossary/crlite/)，大多数证书本来就不走 OCSP 实时查询。

## 需要做什么

去掉对 Let's Encrypt 证书已经无效的 OCSP 装订和 Must-Staple 配置。先检查证书里是否还有 OCSP 地址，以及 CRL 地址在哪：

```bash
openssl x509 -in cert.pem -noout -ocsp_uri
openssl x509 -in cert.pem -noout -ext crlDistributionPoints
```

对当前的 Let's Encrypt 证书来说，第一条命令输出为空是正常的。只用 Let's Encrypt 证书的 nginx，可以删掉装订相关配置：

```nginx
# 对 Let's Encrypt 证书已无作用
# ssl_stapling on;
# ssl_stapling_verify on;
```

用 certbot 的，去掉命令里的 `--must-staple`，并删除 `/etc/letsencrypt/renewal/` 下配置文件中的 `must_staple = True`，然后演练一次续期：

```bash
sudo certbot renew --dry-run
```

[OCSP 与 CRL 指南](https://ssl.sh/zh/learn/ocsp-and-crl/)介绍了现在的[吊销](https://ssl.sh/zh/glossary/revocation/)检查是怎么工作的。这次变化和[停发到期提醒邮件](https://ssl.sh/zh/news/lets-encrypt-ends-expiration-emails/)一起收录在 [Let's Encrypt 时间线](https://ssl.sh/zh/timeline/lets-encrypt/)中。
