SSL 通配符证书能覆盖几级域名?
只覆盖一级。这是通配符证书最容易误解的地方。
规则很简单
*.bt.cn 能覆盖 www.bt.cn、api.bt.cn、mail.bt.cn。
但它不覆盖 a.b.bt.cn,也不覆盖 bt.cn 本身。
星号只替代一段,遇到点就停。这是 RFC 里的规定,所有 CA 都遵守,不是某家厂商的限制。
裸域要单独加
很多人买了 *.bt.cn,结果发现直接访问 bt.cn 报证书错误。
因为通配符不包含裸域。解决办法是在 SAN 里额外加上 bt.cn,大部分 CA 支持一张证书同时包含通配符和裸域。
多级子域怎么办
两种做法:
一是把所有需要的多级域名逐个加进 SAN。证书支持多个 SAN,只是域名越多价格越高。
二是给每个层级单独申请通配符,比如 *.bt.cn 加 *.api.bt.cn。
如果子域层级很深、数量很多,那可能要重新设计域名结构,别在证书上硬扛。
还有个细节
通配符不能用于 *.com 这种顶级域,也不能覆盖带点的多级名称。
另外,通配符证书泄露的风险更高:一张证书泄露,所有子域都受影响。所以私钥管理要更严格,别随手放在代码仓库里。
怎么确认覆盖范围
用 SSL 检测逐个域名跑一遍,看 SAN 列表里到底写了什么。
比翻订单页面靠谱,也顺手能发现「以为买了其实没包含」的情况。