你需要在子域名(blog.example.com、api.example.com、staging.example.com)上启用 HTTPS。有三个选项:
选项 1:通配符证书(*.example.com)
一张证书自动覆盖所有子域名——包括你将来创建的。
| 优势 | 劣势 |
|---|---|
| 覆盖无限子域名 | 需要 DNS-01 验证(需要 DNS 访问权限) |
| 新子域名即时生效 | 所有子域名共用一个私钥(共享风险) |
| 只需管理 1 张证书 | 不覆盖嵌套子域名(a.b.example.com) |
| 从 Let’s Encrypt 免费获取 | 不覆盖裸域名(需单独添加 example.com) |
适合: 多个子域名,经常添加新的。
*.example.com covers:
✅ www.example.com
✅ blog.example.com
✅ api.example.com
✅ staging.example.com
✅ anything.example.com
❌ example.com (add separately)
❌ sub.blog.example.com (nested)
选项 2:SAN 证书(列出特定子域名)
在证书的主体备用名称字段中明确列出每个子域名。
| 优势 | 劣势 |
|---|---|
| 可使用 HTTP-01 验证(更简单) | 必须明确列出每个子域名 |
| 可混合不同基础域名 | 添加子域名需要新证书 |
| 每个名称单独验证 | Let’s Encrypt 限制:每证书 100 个名称 |
| 从 Let’s Encrypt 免费获取 | 子域名频繁变动时管理更多 |
适合: 数量少且固定的子域名(2-5 个)。
SAN certificate covers exactly what you list:
✅ example.com
✅ www.example.com
✅ blog.example.com
❌ api.example.com (if not listed)
在 GetHTTPS 中,输入你需要的所有子域名即可。
选项 3:每个子域名单独的证书
每个子域名获取自己的证书。
| 优势 | 劣势 |
|---|---|
| 最大隔离性(独立密钥) | 管理开销最大 |
| 独立的续签计划 | 每个子域名需跟踪一张证书 |
| 一个被泄露不影响其他 | 更多服务器配置 |
| 每个子域名可用 HTTP-01 |
适合: 由不同团队管理的子域名,或安全隔离很重要时。
对比表
| 通配符 | SAN | 独立 | |
|---|---|---|---|
| 覆盖的子域名 | 全部(无限) | 仅列出的 | 每证书一个 |
| 新子域名 | 自动 | 需重新签发 | 需新证书 |
| 验证类型 | 仅 DNS-01 | HTTP-01 或 DNS-01 | HTTP-01 或 DNS-01 |
| 管理的证书数 | 1 | 1 | N |
| 安全隔离 | 共用密钥 | 共用密钥 | 独立密钥 |
| 费用(Let’s Encrypt) | 免费 | 免费 | 免费 |
| 适合 | 动态子域名 | 固定集合(2-5) | 团队隔离 |
常见场景
”我有 example.com 和 www.example.com”
→ SAN 证书(最简单)。在 GetHTTPS 中输入两个名称。这是最常见的配置。
“我有 www、blog、api、docs、staging 子域名”
→ 通配符(*.example.com + example.com)。覆盖所有当前和未来的子域名。
“每个子域名是不同客户的站点”
→ 独立证书。每个客户管理自己的。一个被泄露不影响其他。
“我有 example.com + example.org + 子域名”
→ SAN 证书组合域名 + 通配符:example.com、*.example.com、example.org。GetHTTPS 支持此方式。
常见问题
*.example.com 覆盖 example.com 本身吗?
不覆盖。裸域名需要单独列出。在 GetHTTPS 中,同时添加 *.example.com 和 example.com。详情 →
能在一张证书中混合通配符和特定域名吗?
可以。一张 Let’s Encrypt 证书可以包含 *.example.com、example.com 和 other.com 作为 SAN 条目。每证书最多 100 个名称。
哪个选项最便宜?
三个选项通过 Let’s Encrypt 配合 GetHTTPS 都是免费的。某些商业 CA 对通配符额外收费($200-500/年),对每个 SAN 条目收费($10-50)。使用 Let’s Encrypt 时,费用从不是问题。
我的子域名在不同服务器上,能用同一张证书吗?
可以。在两台服务器上安装相同的 fullchain.pem 和 privkey.pem。证书不知道自己在哪台服务器上——它只验证域名。