首页/安全/加密与证书速查/通配符证书范围排查

通配符证书范围排查

通配符证书 *.example.com 只匹配同一级子域,不匹配多级子域,也不默认包含裸域;签发前明确覆盖范围,或把缺失名称加入 SAN,避免上线后才发现不匹配。

加密与证书速查安全更新于 2026-10-13

通配符的覆盖范围

通配符证书只匹配同一级子域,既不匹配多级子域,也不默认包含裸域。签发前必须明确覆盖范围,或把缺失名称加入名称扩展,否则会在上线后才暴露不匹配。另外通配符降低了管理成本,同时也放大影响面:一张证书的私钥泄露会影响其覆盖的全部子域,因此需要更严格的私钥保护与更短的轮换周期。

基本信息

匹配a.example.com 匹配 *.example.com
不匹配a.b.example.com 与裸域,除非单独列出
策略权衡减少管理成本,影响面随子域数量扩大
核对方式查看名称扩展并做主机名验证

典型使用场景

  • 规划证书范围:确认是否真的需要通配符
  • 上线后报名称不匹配:核对实际覆盖范围
  • 多级子域场景:评估是否改用多名称证书
  • 裸域与子域同时使用时的方案选择
  • 安全评估:测算通配符私钥泄露的影响面

核对覆盖范围并验证

核对覆盖范围并验证
openssl x509 -in wildcard.pem -noout -ext subjectAltName                    # 只看名称扩展
openssl verify -CAfile ca.pem -verify_hostname a.example.com wildcard.pem    # 应通过
openssl verify -CAfile ca.pem -verify_hostname a.b.example.com wildcard.pem  # 预期失败
openssl x509 -in wildcard.pem -noout -subject -issuer                        # 确认主体与签发者

匹配规则

访问名称是否匹配说明
a.example.com是同一级子域
a.b.example.com否跨级不匹配
example.com否裸域需单独列出
www.example.com是仍属同一级
通配符私钥泄露会影响其覆盖的全部子域,应配套更严格的私钥保护与更短的轮换周期,必要时按业务拆分证书。

落地建议

  • 签发前用脚本校验每个实际访问名称是否被覆盖
  • 把裸域与关键子域单独列入名称扩展
  • 为通配符证书设定更短的轮换周期
  • 私钥只部署在需要的节点上,避免全量分发
单层通配符无法覆盖多级形式;若确实存在多级子域,可选方案是多名称证书或额外申请一张通配符证书,而不是在客户端放宽校验。

排查顺序

  • 先用验证命令确认目标名称是否被证书覆盖
  • 再看客户端报错是名称不匹配还是链不完整
  • 核对是否有更上层的证书终止了连接并返回了另一张证书
  • 确认域名解析是否指向了预期的那台服务
同一台服务上多个站点共用端口时,先由服务端按请求的名称选择证书;证书覆盖范围与虚拟主机配置不一致时,返回的证书可能来自另一个站点。

易错点

  • 以为星号可以跨级匹配多级子域
  • 漏掉裸域需要单独列入名称扩展
  • 上线前不做名称覆盖校验,直到用户报错才发现
  • 通配符私钥在全部节点上分发,泄露影响面被放大
  • 把通配符当万能方案,忽略子域数量增加后轮换复杂度上升
  • 只核对证书内容而不核对面象站点的证书选择配置,排查方向跑偏

数据来源与参考

  • RFC 6125 §6.4.3(通配符匹配)
  • CA/Browser Forum Baseline Requirements(通配符证书)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌