Firebase initializeApp()初始化失败求助:getaddrinfo EAI_AGAIN错误排查
解析Firebase初始化报错:getaddrinfo EAI_AGAIN accounts.google.com:443
先直接说清楚这个错误的核心:getaddrinfo EAI_AGAIN本质是DNS解析失败——你的应用没法把accounts.google.com这个域名转换成对应的IP地址,自然就没法和Google的服务器建立HTTPS连接(443是HTTPS的默认端口)。
Firebase初始化时需要向Google的OAuth2服务器获取访问令牌,结果网络层面连域名都解析不了,凭证验证的请求根本发不出去,所以才会抛出上层的app/invalid-credential错误——哪怕你凭证信息完全正确,网络不通一切都是白搭。
给你几个排查和解决的方向:
- 先确认网络连通性:在你的应用运行环境里,手动执行
ping accounts.google.com或者nslookup accounts.google.com,看看能不能拿到正常的IP结果。如果连这两步都失败,那肯定是网络本身的问题,比如服务器断网、防火墙限制,或者你的网络服务商DNS出故障了。 - 换个DNS服务器试试:如果本地DNS解析拉胯,换成公共DNS比如Google的
8.8.8.8/8.8.4.4,或者Cloudflare的1.1.1.1。修改完DNS配置后,记得重启应用或者网络服务。 - 检查防火墙/安全组规则:很多云服务器的安全组默认会限制出站请求,你得确认有没有放行到
accounts.google.com的443端口的规则,要是被拦了,直接加一条允许规则就行。 - 重启应用和网络服务:有时候就是临时的DNS缓存或者进程抽风,重启一下应用进程,甚至重启服务器的网络服务(比如Linux下用
systemctl restart network,Windows的话重启网络适配器),说不定就能解决。 - 代理配置要核对(如果用了代理):要是你的应用走代理访问外网,得确保代理地址、端口、认证信息都配置对了,代理出错也会导致DNS解析或者连接失败。
附你提供的报错详情:
FIREBASE WARNING: {"code":"app/invalid-credential","message":"Credential implementation provided to initializeApp() via the "credential" property failed to fetch a valid Google OAuth2 access token with the following error: "getaddrinfo EAI_AGAIN accounts.google.com:443""}
内容的提问来源于stack exchange,提问作者jofftiquez
相关产品推荐
相关产品推荐

