认证调用可以通过代理正常工作,但数据库连接却失败了。在 Firebase 应用中,这可能是传输层的差异,而不是时断时续的代理。

Admin Node SDK 的 httpAgent 应用选项适用于发起 REST 调用的服务,包括 Auth 和 Messaging。其文档记载的范围不包括 Realtime Database 和 Firestore。凭据对象也通过相应的凭据工厂方法拥有自己的 agent 配置。

失败的操作需要检查的配置
Admin REST 服务调用应用的 HTTP agent
获取凭据令牌凭据对象的 HTTP 配置
数据库连接数据库客户端自身的传输支持

正因如此,在初始化时添加 agent 并不能保证之后的每个连接都走同一条路径。在更改已经为另一服务正常工作的配置之前,请先记录失败的服务和目的地。

旧有的讨论还会把 Firebase 命令行工具与应用 SDK 混为一谈。为读取 http_proxy 而做的 CLI 修复,并不能证明 Node 进程中的数据库客户端使用了同一选项。

请为你真正需要的传输方式使用受支持的配置接口。给嵌套的 WebSocket 依赖打补丁,可能看起来只影响一个连接,而另一条路径保持不变,并且会让未来的依赖更新更难推理。

相关文章