認証呼び出しはプロキシ経由で成功するのに、データベース接続は失敗する。Firebase アプリケーションでは、これは断続的なプロキシではなくトランスポートの違いである可能性があります。

Admin Node SDK の httpAgent アプリケーションオプションは、Auth や Messaging を含む REST 呼び出しを行うサービスに適用されます。その文書化された範囲には Realtime Database と Firestore は含まれません。認証情報オブジェクトにも、対応する認証情報ファクトリメソッドを通じた独自のエージェント設定があります。

失敗する操作確認すべき設定
Admin REST サービス呼び出しアプリケーションの HTTP エージェント
認証情報トークンの取得認証情報オブジェクトの HTTP 設定
データベース接続データベースクライアント自身のトランスポート対応

そのため、初期化時にエージェントを追加しても、以降のすべての接続が同じ経路を通ることを保証できません。別のサービスで既に機能している設定を変更する前に、失敗しているサービスと宛先を記録してください。

古い議論では、Firebase コマンドラインツールとアプリケーション SDK が混同されることもあります。http_proxy を読むための CLI 修正は、Node プロセス内のデータベースクライアントが同じオプションを使うことを証明しません。

実際に必要なトランスポートに対してサポートされている設定インターフェースを使用してください。ネストされた WebSocket 依存関係にパッチを当てると、一方の接続だけに影響し別の経路は変わらないように見えることがあり、将来の依存関係の更新を理解しにくくします。

関連記事