Skip to content

Nginx:首次部署与定时更新

本篇将工具已下载的证书关联到 Nginx 网站,完成首次部署,并确认每日更新能够持续生效。

准备条件

已完成 安装与填写 Key,本地证书列表中有目标证书,Nginx 路径测试通过。目标 Nginx 站点已存在,服务进程可以读写相应配置文件。

1. 选择证书并扫描站点

在工具的本地证书列表中找到目标证书,点击 部署。工具会扫描 Nginx 站点,将结果分为完全匹配、部分匹配和不匹配。

Nginx 站点扫描结果,完全匹配站点默认勾选,部分匹配站点未勾选
图 26 · 核对证书与站点域名覆盖关系示例数据 · 点击图片放大
分类含义与选择方式
完全匹配证书覆盖该站点需要的域名,默认勾选;仍需核对是否为目标站点
部分匹配只覆盖部分域名,默认不勾选;先处理未覆盖域名
不匹配不在证书覆盖范围内,不能作为本次部署目标

示例证书包含 example.com*.example.com,可以覆盖 example.comwww.example.com。它不能覆盖 other.example.net,也不能用一级通配符覆盖 a.b.example.com

同时查看配置文件路径,避免把另一个站点或仅用于跳转的配置块误认为目标站点。普通 Nginx 路线保留宝塔目录映射等选项的默认设置即可。

2. 执行首次部署

核对勾选结果,点击 部署并自动续期,在确认弹窗中确认目标数量,再执行。

工具会处理配置备份、证书路径写入、Nginx 配置测试、重载及 Linux 本机 TLS 检查。执行结束后查看结果;失败时依据具体步骤的错误处理。

工具首次部署成功的结果提示
图 27 · 确认首次部署结果示例数据 · 点击图片放大

按钮中的“自动续期”表示为后续本地证书更新建立部署关联。证书的新一轮签发仍由平台处理,服务器工具负责获取及应用证书。

3. 查看部署记录与运行日志

打开 部署记录,核对本次证书、站点和时间。记录中的备份可用于处理配置恢复需求;还原会覆盖对应配置,操作前先核对记录与当前改动。

Nginx 部署记录中的证书文件、配置文件、时间和成功状态
图 31 · 核对部署记录示例数据 · 点击图片放大

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

工具运行日志中的证书获取、保存、部署和定时任务信息
图 29 · 按日志定位处理阶段示例数据 · 点击图片放大

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 之间随机选定一个分钟,每日执行更新检查。实际时间看后台的“定时任务状态”;服务重启后可能重新选择。

工具定时任务状态,显示服务器时间、每日执行时间和下一次执行时间
图 28 · 以服务器显示的实际计划为准示例数据 · 点击图片放大

Nginx 工具主动拉取流程:每日检查、本地缺失或不足14天、下载保存、重载及网站验证

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

下一步:保留 自动续期检查项,遇到问题按 常见问题与排错逐层定位。

申请 · 续期 · 部署 · 验证