SSL 证书如何配置泛域名通配符证书保护多个子站点

作者:袖梨 2026-08-27

泛域名通配符证书(如*.example.com)可统一保护所有二级子域名(如blog.example.com),但不覆盖主域名和三级子域名;仅支持DNS验证,需配置API密钥并添加_acme-challenge TXT记录。

泛域名通配符证书(如 *.example.com)能一次性为所有二级子域名启用 HTTPS,比如 blog.example.com、api.example.com、shop.example.com,无需逐个申请证书。它不保护主域名(example.com)本身,也不覆盖三级子域名(如 dev.test.example.com),这点必须提前确认。

确认域名结构与验证方式

通配符证书只支持 DNS 验证,因为 HTTP 验证需在每个子域名根目录放验证文件,实际不可行。你得确保:

  1. 主域名 example.com 的 DNS 管理权限在你手上(如阿里云、Cloudflare、腾讯云等)
  2. 申请时填写的 CSR 中 Common Name 是 *.example.com,不能写成 www.example.com 或多个域名
  3. 证书颁发机构(如 Let’s Encrypt、JoySSL、PinTrust)会要求你添加一条特定的 TXT 记录到 _acme-challenge.example.com

宝塔面板中快速申请与部署

宝塔已集成 Let’s Encrypt 泛域名支持,操作路径清晰:

  1. 进入「 」→「添加站点」,先创建主域名站点(如 example.com),再添加任意一个子域名站点(如 blog.example.com)
  2. 点击「SSL」→「Let’s Encrypt」→ 勾选「泛域名」→ 输入 *.example.com → 选择「DNS API」方式(需提前配置对应 DNS 提供商的 API 密钥)
  3. 提交后,宝塔自动完成 DNS 记录添加、证书申请、下载和 Nginx 配置绑定
  4. 后续新增子域名(如 admin.example.com)只需在宝塔中添加站点,SSL 选项里直接「强制 HTTPS」并复用已有证书即可

手动配置 Nginx 多子域共用同一证书

如果你用的是非宝塔环境或需自定义配置,关键点在于 server_name 和证书路径统一:

  1. 所有子域名站点的 server_name 必须匹配通配符范围,例如:server_name blog.example.com api.example.com shop.example.com;
  2. SSL 证书路径指向同一组文件(fullchain.pem + privkey.pem),不要为每个子域名重复复制证书
  3. 确保每个 server 块都包含标准 TLS 配置:启用 TLSv1.2/TLSv1.3、设置 strong cipher suite、开启 HSTS(可选)
  4. 主域名 example.com 若也需要 HTTPS,需单独申请一张证书或在 SAN 证书中额外加入 example.com

续期与日常维护要点

Let’s Encrypt 泛域名证书有效期 90 天,自动续期依赖 DNS 权限持续有效:

  1. 宝塔默认每天凌晨 2–4 点检测续期,前提是 DNS API 凭据未过期、API 权限未被回收
  2. 建议每月登录 DNS 控制台检查 _acme-challenge.example.com 的 TXT 记录是否仍存在(有时会被误删)
  3. 私钥泄漏风险比单域名更高,务必限制读取权限:chmod 600 privkey.pem
  4. 避免将通配符证书用于高敏感服务(如支付网关),必要时可为关键子域名单独配置 OV 证书增强信任

相关文章

精彩推荐