# 证书管理与自动续期

平台证书集中位于 **系统设置 → DNS 与证书 → SSL 证书**，由有权管理平台证书的账号维护。证书可以绑定转发端点，也可以绑定入站代理 TLS。

面板网站自身的 HTTPS 与业务节点证书分别核对：在 SSL 证书列表新增证书，不会自动替换面板反向代理的网站证书。

## 选择上传还是申请

| 方式 | 准备材料 | 后续维护 |
| --- | --- | --- |
| 上传证书 | PEM 证书链和匹配的私钥 | 到期前更换材料并验证同步；没有 ACME 自动续期 |
| Let's Encrypt | 域名控制权、DNS API 配置和 ACME 账号 | 保留 DNS 权限，开启并检查自动续期 |

证书和私钥不要贴到公开工单。测试证书、过期证书或自签名证书不能直接当作受信任生产证书。

## 用 DNS 验证申请证书

1. 在 **DNS配置管理**创建可管理相应区域的 API 配置；见[DNS API 配置方法](/docs/dynamic-dns/#配置-dns-api)。
2. 在 **ACME 账号**设置邮箱并核对测试／生产环境。测试环境签发的证书不会被常规客户端信任。
3. 点击 **添加证书 → Let's Encrypt**。
4. 填写证书名称；输入一个域名后按回车，把需要的域名逐项加入。
5. 选择 DNS 配置及其真实所属 Zone，再申请。

使用 Webhook 时，先完成 [DNS Webhook 接入与验收](/docs/dns-webhook/)，确认接收端能处理 TXT 完整集合及空集合删除，并让挑战 TXT 通过公开传播检查。ping 成功不能代替实际写入或传播验证；接收端示例从已安装面板下载，按[适用版本](/docs/dns-webhook/#适用版本)核对。

![Let's Encrypt 申请表单：域名列表、DNS 配置与 Zone](https://img.coderluny.com:444/uploads/zfc-tutorial-20261018-certificate-request-c921543dee40.png)

申请会执行 DNS 验证并在后台签发。提交成功表示任务被接受，仍需等待列表状态和证书有效期更新。申请通配符时，确认所选 Zone 覆盖该域名，DNS 权限可以管理验证记录。

域名、Zone、服务商接口和传播状态都可能导致失败。先查看状态及错误信息再重试，不连续重复申请掩盖原因。

## 上传已有 PEM 材料

选择 **添加证书 → 上传证书**，填写名称、证书 PEM 与私钥 PEM。证书应带齐需要的链，私钥必须匹配。

上传后核对域名列表、到期时间和状态。只看到名称出现在表格中，不能证明客户端已经接受该证书。

## 绑定到实际节点

| 位置 | 操作 |
| --- | --- |
| 入站代理 TLS | 端口编辑中选择相应协议和 TLS，使用 **证书模式**选择平台证书，核对服务器名称 |
| 转发端点 TLS | 端点编辑中选择证书模式与证书，并核对端点业务地址、TLS 名称及校验设置 |

非超级管理员可能只看到已有绑定摘要，不能枚举或改选平台证书；需要新增平台绑定时请使用有权账号。手动、自签名等模式的适用条件见[入站代理 TLS](/docs/inbound-proxy/#tls证书服务器名称与校验)。

保存后确认 worker／forwarder 在线、配置已同步，再从实际客户端连接。检查其收到的域名、签发者、证书链和有效期；域名不匹配时修正证书与 SNI，不能把关闭证书校验当作续期完成。

## 自动续期与删除

只有 Let's Encrypt 来源显示自动续期开关。需要持续续期时保留可用 ACME 账号、DNS 配置和域名权限；切换服务商或撤销密钥后，及时检查下一次续期结果。

可用 **续期**手动触发受支持证书的续期任务。续期后重新核对状态、有效期及绑定节点实际提供的证书；节点离线或同步失败时，新证书入库不代表所有监听已换新。

证书详情可查看绑定的端点与端口。仍被引用的证书不能删除：先把所有使用方切换到新证书，确认同步和实际连接，再解除旧引用并删除。

异常提醒可通过[告警与通知](/docs/alerts-notifications/)跟进。DDNS 记录与 ACME 验证记录的写入职责不同，配置时不要让多项任务争用同一 DNS 记录。