每个子域名都需要单独的 SSL 证书吗
不一定。泛域名证书(*.example.com)可覆盖所有一级子域名,多域名证书(SAN)可覆盖指定域名清单,只有两者都不适用时才需要逐个子域名单独办证。
一句话回答:不需要。一张泛域名证书**(Wildcard,*.example.com)就能覆盖所有同级子域名(app.example.com、api.example.com……不限数量);或者用多域名证书(SAN 证书)把多个指定域名/子域名打包在一张证书里。只有这两种都不适用时,才需要给每个子域名单独申请证书。**
三种证书类型
| 类型 | 覆盖范围 | 适用场景 |
|---|---|---|
| 单域名证书 | 仅证书 SAN 明确列出的名称;不会自动包含 www |
只有一个站点 |
| 泛域名证书 | *.example.com 的所有一级子域名 |
子域名多且动态增加 |
| 多域名证书(SAN/UCC) | 证书里列明的域名清单 | 多个完全不同的域名共用一张证书 |
泛域名证书的两个关键限制
- 只覆盖一级:
*.example.com能匹配a.example.com,但不能匹配a.b.example.com(多级子域名需要*.b.example.com这样的独立泛域名) - 验证方式受限:Let's Encrypt 等免费 CA 要求泛域名证书必须用 DNS-01 挑战验证(添加 TXT 记录),不能用 HTTP 验证;需要 DNS 服务商 API 配合才能自动续期
怎么选
- 子域名数量少且固定(3-5 个):免费单域名证书各办一张(Let's Encrypt 不收证书签发费用,但仍有自动化和运维成本),或一张 SAN 证书打包
- 子域名多或会动态增加(多租户 SaaS:
{tenant}.example.com):可考虑泛域名证书,也可在 CA 限额与运维允许时自动签发各子域名证书 - 多个完全不同的域名(example.com + example.net + app.foo.com):SAN 多域名证书,或各办各的
提示:多台服务器共用同一张泛域名证书时,注意私钥分发安全;通配符私钥泄露的影响面比单域名大得多。
共享证书续期后,还要确认各入口已加载新证书。可在观测云按域名、端口建立 SSL 拨测任务,检查端点返回的到期时间,并设置剩余天数判断条件;任务清单应包含实际使用的各个入口。
常见问题(FAQ)
Q:泛域名证书能覆盖根域名 example.com 本身吗?
A:不能。*.example.com 不匹配 example.com。需要根域名时,把它作为额外 SAN 加进证书,或单独配一张。
Q:免费的 Let's Encrypt 支持泛域名吗?
A:支持,但必须走 DNS-01 验证。用 certbot 的 DNS 插件或 acme.sh 配合 DNS 服务商 API 即可全自动签发与续期。
Q:SAN 证书最多能放多少个域名?
A:取决于 CA 政策,申请数量上限依 CA 与产品政策而异,应查具体发行方的当前限制。域名清单变化就需要重新签发证书,所以动态增删子域名的场景不如泛域名方便。
核查依据
本文依据官方文档核对,示例未在实际业务环境运行;上线前请按部署版本、权限与数据范围验证。