外观
Nginx:首次部署与定时更新
本篇将工具已下载的证书关联到 Nginx 网站,完成首次部署,并确认每日更新能够持续生效。
准备条件
已完成 安装与填写 Key,本地证书列表中有目标证书,Nginx 路径测试通过。目标 Nginx 站点已存在,服务进程可以读写相应配置文件。
1. 选择证书并扫描站点
在工具的本地证书列表中找到目标证书,点击 部署。工具会扫描 Nginx 站点,将结果分为完全匹配、部分匹配和不匹配。

| 分类 | 含义与选择方式 |
|---|---|
| 完全匹配 | 证书覆盖该站点需要的域名,默认勾选;仍需核对是否为目标站点 |
| 部分匹配 | 只覆盖部分域名,默认不勾选;先处理未覆盖域名 |
| 不匹配 | 不在证书覆盖范围内,不能作为本次部署目标 |
示例证书包含 example.com 和 *.example.com,可以覆盖 example.com 与 www.example.com。它不能覆盖 other.example.net,也不能用一级通配符覆盖 a.b.example.com。
同时查看配置文件路径,避免把另一个站点或仅用于跳转的配置块误认为目标站点。普通 Nginx 路线保留宝塔目录映射等选项的默认设置即可。
2. 执行首次部署
核对勾选结果,点击 部署并自动续期,在确认弹窗中确认目标数量,再执行。
工具会处理配置备份、证书路径写入、Nginx 配置测试、重载及 Linux 本机 TLS 检查。执行结束后查看结果;失败时依据具体步骤的错误处理。

按钮中的“自动续期”表示为后续本地证书更新建立部署关联。证书的新一轮签发仍由平台处理,服务器工具负责获取及应用证书。
3. 查看部署记录与运行日志
打开 部署记录,核对本次证书、站点和时间。记录中的备份可用于处理配置恢复需求;还原会覆盖对应配置,操作前先核对记录与当前改动。

运行日志用于确认证书获取、保存、Nginx 测试和重载各环节。

4. 验证网站实际返回的证书
在浏览器打开实际 HTTPS 域名,查看证书的域名和有效期,与平台、本地证书进行比较。
也可以在有 OpenSSL 的终端中执行以下只读检查,将示例域名和文件名替换为自己的实际值:
bash
# 检查服务器保存的证书
openssl x509 -in /vk-cert/example.com-2.crt -noout -subject -issuer -dates -serial
# 检查访问域名时实际返回的证书;-servername 用于 SNI
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates -serial两个结果中的序列号和到期时间应与预期的新证书一致。检查证书链时,还可以运行不省略输出的 openssl s_client,查看验证结果。
若域名经过 CDN/负载均衡,公网看到的可能是入口层证书。可将 -connect 改成源站实际 IP,并保留 -servername 你的域名,区分源站和公网入口。工具的本机 TLS 检查不能替代完整公网链路验证。
后续每日如何更新
工具启动后,会在服务器当地时间 02:00 至 06:00 之间随机选定一个分钟,每日执行更新检查。实际时间看后台的“定时任务状态”;服务重启后可能重新选择。

工具先获取 Key 可见的已签发证书,再逐张检查服务器本地文件:
| 本地情况 | 当前处理 |
|---|---|
| 没有本地证书,或证书文件无法解析 | 下载并保存平台证书 |
| 本地证书剩余整数天数不足 14 天 | 下载并保存平台当前证书 |
| 本地证书剩余天数至少 14 天 | 跳过下载,日志显示无需更新 |
手动点击“更新证书”也遵守此判断,不会每次强制替换全部证书。平台已经续签、服务器本地还有 14 天以上时,两边暂时不同步可能符合当前规则。
有证书成功下载后,已配置的 Nginx 会进行重载处理。只有完成过站点部署、并且站点仍引用工具维护的文件,网站才会随这些文件更新。工具不会替平台发起证书申请或购买套餐。
常用状态与日志命令
bash
# 服务是否启动、是否启用开机启动
systemctl status vk-ssl-auto-deploy --no-pager
systemctl is-enabled vk-ssl-auto-deploy
# 工具状态、版本与定时任务
vk-ssl status
# 检测并测试当前 Nginx 配置
vk-ssl nginx test
# 查看部署记录
vk-ssl nginx records
# 最近 100 行服务日志
journalctl -u vk-ssl-auto-deploy -n 100 --no-pager
# 持续观察日志,按 Ctrl+C 退出观察
journalctl -u vk-ssl-auto-deploy -f预期结果
首次部署成功、网站返回预期证书;定时任务显示下一次执行时间。平台持续续签,工具在本地证书满足更新条件时下载、保存并重载,运行日志能够追踪结果。
失败时怎样处理

| 现象 | 检查顺序 |
|---|---|
| 扫描不到站点 | Nginx 可执行路径 → 配置测试结果 → 目标配置是否被 Nginx 加载 |
| 没有完全匹配项 | 比较站点所有 server_name 与证书域名,检查一级通配符范围 |
| 提示无写入权限 | 核对服务运行权限与配置文件权限 |
| 配置测试/重载失败 | 查看具体 Nginx 错误,修复后测试通过再部署 |
| 定时任务未执行 | 查看服务状态、服务器时间和下一次执行时间,检查运行日志 |
| 下载了但网站日期没变化 | 核对是否执行首次部署、站点引用路径、重载是否成功及公网入口 |
| 每天检查却始终是旧证书 | 回平台确认是否已续签;工具只能下载平台当前提供的证书 |
