NET::ERR_CERT_COMMON_NAME_INVALID 报错解决

错误概述

NET::ERR_CERT_COMMON_NAME_INVALID 是浏览器在验证 SSL/TLS 证书时出现的常见错误。该错误表示服务器提供的证书中的 Common Name (CN)Subject Alternative Names (SANs) 与用户实际访问的域名不匹配。例如,证书颁发给 example.com,但你访问的是 www.example.com 或 192.168.1.1,就会触发此报错。


常见原因

  • 证书域名不匹配:证书仅对特定域名有效,如证书 CN 为 *.example.com,但你通过 IP 地址或不同子域名访问。
  • 证书过期或无效:证书本身已失效或未正确安装。
  • 自签名证书:开发环境使用自签名证书,浏览器默认不信任。
  • 中间证书缺失:服务器未正确配置完整的证书链。
  • 系统时间错误:客户端系统时间与证书有效期不符。

解决方法

方法一:确认域名与证书匹配

  1. 点击浏览器地址栏左侧的锁图标或“不安全”提示,查看证书详情。
  2. 对比证书中的“颁发给”字段(CN 或 SANs)与当前访问的域名是否完全一致(包括 www 前缀)。
  3. 如果不一致,请使用证书对应的域名访问,或重新申请匹配的证书。

方法二:为证书添加缺失的域名

如果你拥有服务器管理权限,可重新生成证书并包含所有需要访问的域名:

  1. 在生成证书请求(CSR)时,在 CN 字段填写主域名(如 example.com)。
  2. 在 SANs 字段添加其他域名(如 www.example.com、mail.example.com)或 IP 地址。
  3. 使用 OpenSSL 等工具生成新证书并部署到服务器。

方法三:使用 IP 地址访问时处理

如果必须通过 IP 地址访问,确保证书的 SANs 中包含该 IP。否则,考虑使用本地 hosts 文件将 IP 映射到域名:

  • 编辑 /etc/hosts(Linux/Mac)或 C:\Windows\System32\drivers\etc\hosts(Windows)。
  • 添加一行:192.168.1.100 example.com,然后通过域名访问。

方法四:安装自签名证书到信任库(开发环境)

  1. 导出服务器上的自签名证书为 .crt 或 .pem 文件。
  2. 在客户端导入证书:
  3. 重启浏览器后错误应消失。

方法五:检查系统时间

  1. 确认客户端系统日期和时间正确(包括时区)。
  2. 如果时间偏差超过证书有效期范围,浏览器会认为证书无效。
  3. 开启自动同步时间功能(如 NTP)。

方法六:临时绕过(仅用于测试)

在 Chrome 浏览器中,如果了解风险,可尝试以下步骤临时忽略错误:

  1. 在错误页面点击“高级”按钮。
  2. 点击“继续前往 [域名](不安全)”链接。
  3. 此操作仅对当前会话有效,且不推荐在生产环境中使用。

预防措施

  • 购买证书时确保包含所有需要保护的域名(通配符证书可覆盖 *.example.com)。
  • 使用 Let's Encrypt 等免费证书自动续签,并包含 SANs。
  • 定期检查证书有效期,设置到期提醒。
  • 部署时使用完整证书链(包括中间证书)。

总结

NET::ERR_CERT_COMMON_NAME_INVALID 错误的核心是域名与证书不匹配。通过核对域名、重新签发证书、导入自签名证书或调整系统时间,大多数情况可解决。生产环境务必使用受信任的 CA 签发的证书,并正确配置所有访问域名。

分享到:
上一篇
宝塔面板搭建全流程指南
1
系统公告

平台通知

🚀 灵梦云官网已完成升级,全新访问地址: www.lmyun.com
☎️ 服务专线: 4000-222-303
📢 当前有近期网络波动说明及优化进展,您可点击底部 “查看事件” 进行查看
服务中心
客服
客服二维码
在线客服
24小时为您服务
加群
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
A梦言
售后客服
Anarchs
Anarchs
售前客服
梦言
技术咨询
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意