Firebase Hosting托管站点/Flutter应用报NET::ERR_CERT_COMMON_NAME_INVALID如何解决?
排查步骤
NET::ERR_CERT_COMMON_NAME_INVALID错误核心为SSL证书通用名称与访问域名不匹配,按以下顺序排查:
- 确认访问域名已绑定至对应Firebase Hosting项目:登录Firebase控制台进入Hosting模块,查看「自定义域名」列表,确认访问域名在列表内且状态为「已上线」,无待验证、配置异常标识。
- 验证DNS解析配置正确性:查询域名DNS解析记录,确认A/AAAA记录值完全匹配Firebase Hosting提供的官方IP,无填写错误、多余空格,也未指向其他服务地址。若使用CDN代理可暂时关闭代理直连,排除中间节点篡改证书的可能。
- 检查证书下发状态:刚完成域名绑定的场景下,Firebase最长需要72小时完成Let's Encrypt证书的颁发与部署,等待期间访问会触发证书不匹配错误。
- 校验Flutter侧调用地址:确认Flutter应用内发起请求的域名与Firebase托管域名完全一致,无拼写错误,也没有直接使用IP地址访问的情况。
解决方案
浏览器/杀毒软件拦截问题修复
- 未绑定自定义域名的场景:在Firebase Hosting控制台添加自定义域名,按指引完成DNS所有权验证,等待证书下发完成后再访问。
- DNS配置错误的场景:修正A/AAAA记录后等待解析生效,生效时间取决于DNS服务商TTL设置,通常为10分钟到2小时。
- 使用Firebase默认子域名报错的场景:确认访问的
web.app/firebaseapp.com前缀与Firebase项目分配的默认域名完全一致,项目ID无拼写错误。
Flutter应用不安全连接错误修复
- Android端:在
android/app/src/main/res/xml路径下新建network_security_config.xml文件,将Firebase访问域名添加至信任列表,不要开启全局明文访问权限,避免引入额外安全风险。 - iOS端:在项目
Info.plist的NSAppTransportSecurity配置项中添加对应域名的访问例外,或确认域名SSL配置正常,iOS默认会拦截无有效SSL证书的请求。 - 代码侧校验:确认Flutter调用的URL使用
https协议,不要写死http协议,Firebase Hosting默认强制跳转https,不支持http访问。
内容的提问来源于stack exchange,提问作者Cubii
相关产品推荐
相关产品推荐

