CertSvcCertSvc

DEPLOY TOOL

用 CertDeployTool 接管服务器证书更新

平台负责定期签发与续签,CertDeployTool 负责把新证书写到服务器指定目录,并在需要时自动重载 Web 服务。这两部分组合起来,才是完整的自动化方案。

1. 核心运行逻辑

工具启动后会立即执行一次部署任务,之后每天凌晨 3 点自动执行定时部署。只要平台签发了新证书,工具在检测到新版本后就会重新部署,避免证书过期需要人工处理。

2. 账户配置

appsettings.json 中写入平台账户,默认使用注册手机号和密码。

{
  "Account": {
    "Name": "",
    "Password": ""
  }
}

3. 证书部署配置

certificates.json 中定义要部署的证书列表。一个文件可以维护多个域名,格式支持 pfxpem

[
  {
    "Domain": "*.aaa.net",
    "EndTime": null,
    "Path": "d:/Software/IISSSL/",
    "Format": "pfx",
    "ReloadCommand": null
  },
  {
    "Domain": "*.xxx.com",
    "EndTime": null,
    "Path": "/etc/nginx/ssl/",
    "Format": "pem",
    "ReloadCommand": "/etc/init.d/nginx reload"
  }
]
  • Domain:控制台维护的证书域名。
  • EndTime:默认保持 null
  • Path:证书部署输出目录。
  • Format:输出格式,IIS 常用 pfx,Nginx / Apache 常用 pem
  • ReloadCommand:部署完成后需要执行的命令,例如重载 Nginx。

4. Windows 安装为服务

sc.exe create CertDeployTool binpath= "c:\CertDeployTool\CertDeployTool.exe --cd=true" start= auto
net start CertDeployTool
net stop CertDeployTool
sc.exe delete CertDeployTool

5. Linux 安装为 systemd 服务

sudo chmod 777 -R /var/appdata/CertDeployTool

sudo vim /etc/systemd/system/CertDeployTool.service
[Unit]
Description=CertDeployTool

[Service]
WorkingDirectory=/var/appdata/CertDeployTool
ExecStart=/var/appdata/CertDeployTool/CertDeployTool
Restart=always
RestartSec=60
KillSignal=SIGINT
SyslogIdentifier=CertDeployTool
User=root

[Install]
WantedBy=multi-user.target
sudo systemctl enable CertDeployTool.service
sudo systemctl start CertDeployTool.service
sudo systemctl status CertDeployTool.service
下一篇:CDN 部署 查看 IIS 集中式证书