1. 核心运行逻辑
工具启动后会立即执行一次部署任务,之后每天凌晨 3 点自动执行定时部署。只要平台签发了新证书,工具在检测到新版本后就会重新部署,避免证书过期需要人工处理。
2. 账户配置
在 appsettings.json 中写入平台账户,默认使用注册手机号和密码。
{
"Account": {
"Name": "",
"Password": ""
}
}
3. 证书部署配置
在 certificates.json 中定义要部署的证书列表。一个文件可以维护多个域名,格式支持 pfx 和 pem。
[
{
"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
