Firebase Admin Node httpAgent:サービス別のプロキシ適用範囲
すべての SDK トラフィックが同じプロキシを使うと決めつける前に、どの Firebase Admin Node 操作が設定済みの HTTP エージェントを利用するかを特定します。
認証呼び出しはプロキシ経由で成功するのに、データベース接続は失敗する。Firebase アプリケーションでは、これは断続的なプロキシではなくトランスポートの違いである可能性があります。
Admin Node SDK の httpAgent アプリケーションオプションは、Auth や Messaging を含む REST 呼び出しを行うサービスに適用されます。その文書化された範囲には Realtime Database と Firestore は含まれません。認証情報オブジェクトにも、対応する認証情報ファクトリメソッドを通じた独自のエージェント設定があります。
| 失敗する操作 | 確認すべき設定 |
|---|---|
| Admin REST サービス呼び出し | アプリケーションの HTTP エージェント |
| 認証情報トークンの取得 | 認証情報オブジェクトの HTTP 設定 |
| データベース接続 | データベースクライアント自身のトランスポート対応 |
そのため、初期化時にエージェントを追加しても、以降のすべての接続が同じ経路を通ることを保証できません。別のサービスで既に機能している設定を変更する前に、失敗しているサービスと宛先を記録してください。
古い議論では、Firebase コマンドラインツールとアプリケーション SDK が混同されることもあります。http_proxy を読むための CLI 修正は、Node プロセス内のデータベースクライアントが同じオプションを使うことを証明しません。
実際に必要なトランスポートに対してサポートされている設定インターフェースを使用してください。ネストされた WebSocket 依存関係にパッチを当てると、一方の接続だけに影響し別の経路は変わらないように見えることがあり、将来の依存関係の更新を理解しにくくします。