# 证书链补全工具：获取完整证书链 fullchain.pem

> 按正确顺序获取域名的站点证书和中间证书，下载 fullchain.pem、cert.pem、chain.pem，解决证书链不完整导致的报错。

Source: https://ssl.sh/zh/tools/chain-builder/
Last updated: 2026-11-10

获取服务器的证书链，按正确顺序生成 fullchain.pem、cert.pem 和 chain.pem。

证书链补全工具会按正确顺序给出服务器的完整证书链。输入主机名（不是 443 端口就填端口），点 **生成证书链**，下载 `fullchain.pem`，可以直接用于 Nginx、Apache、HAProxy、宝塔面板或云厂商控制台。也可以粘贴一张站点证书，看看它的中间证书从哪里下载。

## 怎么用

**从服务器获取**

1. 输入主机名，比如 `www.example.com`，以及端口。
2. 点 **生成证书链**，工具会列出每张证书的主体、签发者和到期时间。
3. 复制或下载 `fullchain.pem`（站点证书 + 中间证书）、`cert.pem`（站点证书）或 `chain.pem`（中间证书）。

**从证书开始**

1. 选 **从证书开始**，粘贴 PEM 格式的站点证书。
2. 工具在本地解析后，显示证书“授权信息访问”扩展里的 **CA Issuers** 地址，从这个地址可以下载签发它的中间证书，一般是 DER 格式，可以用[DER 转 PEM](https://ssl.sh/zh/tools/ssl-converter/der-to-pem/)转换。

## 为什么顺序很重要

握手时服务器会发送一组证书。TLS 1.2 要求第一张是站点证书，后面每一张都为前一张签名；TLS 1.3 放宽了要求，但仍建议同样的顺序，而且很多客户端依然依赖它。缺了中间证书，不会自行下载的客户端就会报[缺少中间证书](https://ssl.sh/zh/errors/missing-intermediate-certificate/)或 `curl: (60)` 之类的错误。

## 拿到证书链之后

- 用 `fullchain.pem` 替换服务器上的证书文件并重载服务。宝塔面板里把它粘贴到“证书(PEM格式)”框；阿里云、腾讯云上传证书时粘贴到证书内容框。
- 再跑一遍 [SSL 检查](https://ssl.sh/zh/tools/ssl-checker/)，证书链应显示为完整。
- 想确认每张证书的详细信息，用[证书解析工具](https://ssl.sh/zh/tools/certificate-decoder/)。


## FAQ

**根证书要放进证书链文件吗？**

不用。客户端本身就有根证书，再发一遍只会让每次握手多传数据。工具生成的 fullchain.pem 和 chain.pem 不包含自签名的根证书。

**Nginx、Apache、宝塔、云控制台各用哪个文件？**

Nginx 的 ssl_certificate、Apache 2.4.8+ 的 SSLCertificateFile、HAProxy、宝塔“证书(PEM格式)”和阿里云/腾讯云上传证书的“证书文件”都用 fullchain.pem。老版本 Apache 和 Tomcat 的 certificateChainFile 需要分开的 cert.pem 和 chain.pem。

**浏览器显示正常，为什么还要补证书链？**

电脑浏览器能从缓存或网上补齐缺失的中间证书，但 curl、Java、Python、安卓 App、微信小程序后台调用的很多 HTTP 库都不会，会报 unable to get local issuer certificate 之类的错误。
