使用指南

Webhook

自建服务器接收证书推送的 Webhook 配置。

Webhook

通过 Webhook 将证书推送到您自建的 HTTP(S) 接口,适合自有服务器、自动化运维脚本或面板对接。

一、准备接收地址

  1. 在服务器上提供一个可公网或内网访问的 URL,例如: https://your-server.example.com/nestssl/deploy
  2. 接口需对 POST 请求返回 HTTP 2xx,本站才视为部署成功

二、在本站配置

  1. 进入 证书部署 →「+ 新增」→ 类型选 Webhook
  2. 填写 Webhook URL(支持 httphttps
  3. 验证字符串(选填):固定令牌,本站通过请求头透传,供您的程序校验
  4. 点击 「测试」 确认能收到测试事件 → 保存
  5. 在部署页为证书勾选该目标

三、请求说明

本站向您的 URL 发送 POST 请求,Body 为 JSON

事件类型

event 值 说明
certificate.deploy.test 测试连接
certificate.deploy 正式部署

请求头

每次请求均包含以下 HTTP 头:

请求头 说明
Content-Type 固定为 application/json
User-Agent NestSSL 出站标识
X-NestSSL-Event 与 JSON 中 event 字段一致
X-NestSSL-Token 若配置了验证字符串则携带;不会写入 JSON 正文

示例:

POST /nestssl/deploy HTTP/1.1
Host: your-server.example.com
Content-Type: application/json
User-Agent: NestSSL-CertDeploy/1.0
X-NestSSL-Event: certificate.deploy
X-NestSSL-Token: your-secret-token

请在接收端校验 X-NestSSL-Token(若已配置),防止未授权调用。

JSON 请求示例

测试连接(certificate.deploy.test

点击部署目标的「测试」时发送:

{
    "event": "certificate.deploy.test",
    "message": "NestSSL 部署目标连通性测试",
    "timestamp": "2026-05-29T10:30:00+08:00"
}

正式部署(certificate.deploy

证书签发、重签或手动部署时发送。trigger 取值:

含义
issued 首次签发后自动推送
reissued 重签后自动推送
manual 在证书详情手动点击部署
{
    "event": "certificate.deploy",
    "trigger": "manual",
    "certificate_id": 42,
    "domain": "www.example.com",
    "fingerprint": "a1b2c3d4e5f6...",
    "issued_at": "2026-05-29",
    "expires_at": "2026-12-15",
    "certificate_pem": "-----BEGIN CERTIFICATE-----\nMIIF...\n-----END CERTIFICATE-----\n",
    "ca_bundle_pem": "-----BEGIN CERTIFICATE-----\nMIIE...\n-----END CERTIFICATE-----\n",
    "fullchain_pem": "-----BEGIN CERTIFICATE-----\nMIIF...\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIE...\n-----END CERTIFICATE-----\n",
    "private_key_pem": "-----BEGIN PRIVATE KEY-----\nMIIE...\n-----END PRIVATE KEY-----\n"
}

字段说明:

字段 类型 说明
event string 固定为 certificate.deploy
trigger string 触发方式:issued / reissued / manual
certificate_id int 本站证书记录 ID
domain string 证书域名
fingerprint string 证书指纹(SHA-256)
issued_at string | null 签发日期,YYYY-MM-DD
expires_at string | null 到期日期,YYYY-MM-DD
certificate_pem string 站点证书 PEM
ca_bundle_pem string CA 中间证书链 PEM
fullchain_pem string 站点证书 + CA 链拼接 PEM
private_key_pem string | null 私钥 PEM;未保存私钥时为 null

PEM 字段中的换行在 JSON 里以 \n 转义。private_key_pemnull 时,请从本地密钥库获取私钥后再安装。

四、接收端示例逻辑

  1. 校验 X-NestSSL-Token(若已配置)
  2. 解析 JSON,写入 Nginx/Apache 证书路径
  3. 执行 reload 或重启服务
  4. 返回 200 OK

本站 不会 代为在您的服务器上安装证书,仅负责推送数据。

五、安全建议

  • 使用 HTTPS 接收端点
  • 配置验证字符串并校验请求头
  • 限制来源 IP(若您的网络环境支持)
  • 私钥写入文件时设置适当文件权限(如 600

相关文档