通配符 SSL 是否支持根域名?
标准通配符SSL证书默认不支持根域名。
例如申请:*.example.com 它只能保护:
www.example.com
mail.example.com
api.example.com
shop.example.com
但不能保护:example.com
也就是说,如果用户直接访问:https://example.com
浏览器会认为证书名称不匹配,并可能出现:NET::ERR_CERT_COMMON_NAME_INVALID错误。
为什么通配符证书不能自动覆盖根域名?
原因在于通配符匹配规则。
SSL 证书中的:*代表一个域名标签(Label)。
例如:*.example.com
其中:*只能替代:www\api\mail这些一级子域名。
所以: www.example.com匹配:*.example.com
但是:example.com没有额外的一级标签。
它实际上是:[空].example.com而通配符不能匹配空值。
因此:*.example.com ≠ example.com
为什么很多通配符证书又能访问根域?
这是最容易让用户混淆的地方。
因为很多 CA 在签发通配符证书时,会默认同时加入一个 SAN:
例如:
Subject Alternative Name:
DNS: example.com
DNS: *.example.com
这实际上是两条域名记录第一条:example.com 负责保护根域;第二条:*.example.com负责保护一级子域。
它们组合起来才实现:
example.com
www.example.com
api.example.com
mail.example.com
全部支持。
所以真正准确的说法是:
通配符证书本身不包含根域,但申请时可以通过 SAN 扩展同时加入根域。
申请通配符证书时需要注意什么?
实际购买时,不要只看产品名称:“通配符 SSL 证书”
而应该确认订单包含:
example.com
+
*.example.com
两个名称。
否则可能出现购买了一张通配符证书:*.company.com 部署后:www.company.com✅ 正常 api.company.coM✅ 正常 company.com❌ 证书错误.
这种情况在网站如何从HTTP更改为HTTPS? 时非常常见。
免费通配符证书是否包含根域?
以 免费SSL证书Let's Encrypt 为例:
申请:*.example.com不会自动包含:example.com
如果希望同时保护:example.com和*.example.com
申请时需要明确指定例如:example.com和*.example.com两个域名一起申请。
ACME 客户端会分别进行域名控制验证。
国密通配符证书也是一样
国密 SSL 证书虽然使用SM2,SM3,SM4密码算法体系,但是域名匹配规则仍然遵循 X.509 和浏览器验证逻辑。 因此:*.example.com同样不自动包含:example.com需要在申请时明确添加。
最后总结
很多人认为“买了通配符证书,整个域名体系都覆盖了。”这是一个常见误区!
实际规则是:
| 证书名称 | 支持 |
|---|---|
*.example.com | 一级子域名 |
example.com | 根域名 |
*.example.com + example.com | 根域+一级子域全部覆盖 |
*.a.example.com | 二级子域 |
所以企业在安装与部署部署通配符 SSL 证书时,
最稳妥的做法是:申请时同时包含根域和通配符域名,避免上线后发现裸域访问报错。



京公网安备11010502031690号
网站经营企业工商营业执照
















