一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

SSL 证书如何实现通配符证书在多台服务器上的部署

时间:2026-08-23 07:52:49 编辑:袖梨 来源:一聚教程网

通配符证书仅适用于同主域子域,多主域应使用SAN证书;部署需通过DNS验证,推荐acme.sh+自动分发脚本或宝塔跨面板部署,CDN/WAF需单独上传。

通配符证书(如 *.example.com)本身只覆盖单个主域下的所有子域,不能跨主域使用。要在多台服务器上部署同一张通配符证书,关键不是“复制证书文件”这么简单,而是建立一套可复用、可自动同步、且符合安全规范的分发机制。

先确认证书是否真正适用

通配符证书只能用于同主域的子域名(比如 api.example.com、shop.example.com),不能用于 another.net 或 www.another.com。如果你有多个主域,应改用 SAN(多域名)证书,而非强行混用通配符。

另外,通配符证书必须通过 DNS 验证方式申请(不能用 HTTP 文件验证),否则 Let’s Encrypt 会拒绝签发。宝塔面板默认的“一键申请”不支持 DNS 验证,需手动或借助 acme.sh/win-acme/Certd 等工具完成。

推荐部署路径:acme.sh + 自动分发脚本

这是目前最稳定、最轻量、也最容易维护的方式,尤其适合 Nginx/Apache/EMQX 等服务:

  1. 在一台中心服务器(如跳板机或主 Web 服务器)上用 acme.sh --issue --dns dns_cf -d example.com -d '*.example.com' 申请并续签证书
  2. 编写一个 deploy-cert.sh 脚本,用 scp + ssh 命令把新证书推送到各目标服务器对应路径(如 /etc/nginx/ssl/
  3. 每台目标服务器需提前配置好 SSH 免密登录(基于密钥对),避免交互式密码输入中断自动化
  4. 脚本末尾调用 nginx -s reloadsystemctl reload nginx 完成热更新

宝塔用户可走“跨面板部署”通道

如果你所有服务器都装了宝塔面板,且版本 ≥ 8.0,可以直接利用其内置的 SSL 授权部署功能:

  1. 在主面板【SSL】→【部署授权】中添加目标服务器的 API 地址和密钥(需先在目标面板开启 API 接口)
  2. 创建部署目标时选【部署到宝塔面板】,指定目标站点(支持批量)
  3. 每次主面板证书更新后,点【部署】按钮即可将 fullchain.pem 和 privkey.pem 同步过去,并自动重载 Nginx
  4. 注意:该方式不适用于云 WAF 或 CDN,它们需单独配置授权(如【部署到云 WAF】或【部署到 CDN 平台】)

CDN 和云 WAF 场景要单独处理

通配符证书上传到 CDN(如 Cloudflare、阿里云 CDN、腾讯云 CDN)或宝塔云 WAF 时,不能依赖服务器间同步,必须走各自平台的 API 或控制台上传:

  1. CDN 通常提供「自定义证书」上传入口,接受 PEM 格式(fullchain + privkey 合并或分开上传)
  2. 云 WAF 需在它的后台绑定防护站点后,再上传证书;宝塔云 WAF 支持从主面板一键同步,前提是已添加对应授权
  3. 务必检查 CDN/WAF 是否要求私钥加密(如某些金融类 CDN 强制要求私钥密码),acme.sh 默认生成的私钥无密码,如需加密码可用 openssl rsa -aes256 -in privkey.pem -out privkey-enc.pem

热门栏目