泛域名通配符 SSL 证书(如*.example.com)可统一保护所有二级子域名(如blog.example.com),适合多个子站点共用 HTTPS 加密;但它不覆盖主域名和三级子域名。此类通配符证书通常仅支持 DNS 验证,申请时需要配置 DNS API 密钥,并添加 _acme-challenge TXT 解析记录。

泛域名通配符证书(如 *.example.com)的核心优势在于,只需一张 SSL 证书,就能为所有二级子域名统一启用 HTTPS 安全保护。例如 blog.example.com、api.example.com、shop.example.com 等都可以直接使用,无需为每个子域名单独申请证书,能够显著降低部署和维护成本。不过也要提前明确,它不能保护主域名(example.com)本身,同时对三级子域名(如dev.test.example.com)同样无效,因此在正式部署前一定要先确认好域名层级和适用范围。
确认域名结构与验证方式
通配符证书通常只支持 DNS 验证,这是因为 HTTP 验证需要在每个子域名的网站根目录中放置验证文件,实际批量操作并不方便,也难以统一管理。因此,在申请泛域名 SSL 证书前,你需要确保以下几点:
- 主域名 example.com 的 DNS 管理权限由你掌握,例如域名托管在阿里云、Cloudflare、腾讯云等平台
- 申请时填写的 CSR 中 Common Name 必须是 *.example.com,不能写成 www.example.com,也不能直接填写多个域名
- 证书颁发机构(如 Let’s Encrypt、JoySSL、PinTrust)通常会要求你在 _acme-challenge.example.com 下添加一条指定的 TXT 记录,用于完成域名所有权验证
宝塔面板中快速申请与部署
如果你使用的是宝塔面板,申请和部署泛域名证书会更高效。宝塔已经集成 Let’s Encrypt 通配符证书支持,整体操作路径也比较直观:
- 进入「 」→「添加站点」,先创建主域名站点(如 example.com),再添加任意一个子域名站点(如 blog.example.com)
- 点击「SSL」→「Let’s Encrypt」→ 勾选「泛域名」→ 输入 *.example.com → 选择「DNS API」方式(需提前配置对应 DNS 服务商的 API 密钥)
- 提交后,宝塔通常会自动完成 DNS 记录添加、SSL 证书申请、文件下载以及 Nginx 配置绑定等流程
- 后续如果新增子域名(如 admin.example.com),只需继续在宝塔中添加站点,并在 SSL 选项里直接开启「强制 HTTPS」后复用已有证书即可
手动配置 Nginx 多子域共用同一证书
如果你使用的是非宝塔环境,或者希望手动自定义 Nginx 配置,那么重点在于统一 server_name 设置和证书文件路径:
- 所有子域名站点的 server_name 都必须位于通配符证书的覆盖范围内,例如:
server_name blog.example.com api.example.com shop.example.com; - SSL 证书路径应统一指向同一组证书文件(fullchain.pem + privkey.pem),没有必要为每个子域名单独复制一份证书
- 确保每个 server 块都包含标准 TLS 配置,例如启用 TLSv1.2/TLSv1.3、使用更安全的 cipher suite,并按需开启 HSTS
- 如果主域名 example.com 也要启用 HTTPS,需要额外单独申请一张证书,或在 SAN 证书中同时加入 example.com
续期与日常维护要点
Let’s Encrypt 泛域名证书的有效期通常为 90 天,能否自动续期很大程度上取决于 DNS 权限是否持续可用,因此后期维护同样重要:
- 宝塔默认会在每天凌晨 2–4 点检测证书续期,前提是 DNS API 凭据没有过期,且对应权限未被撤销
- 建议每月登录 DNS 控制台,检查 _acme-challenge.example.com 的 TXT 记录是否仍然存在,避免因误删导致续期失败
- 由于通配符证书一旦私钥泄漏,影响范围往往大于单域名证书,因此务必严格限制私钥读取权限:
chmod 600 privkey.pem - 尽量不要将泛域名证书直接用于高敏感业务场景(如支付网关);如有更高安全与信任需求,可为关键子域名单独部署 OV 证书
