HttpClient 5 を使った Spring 6 RestTemplate のプロキシ設定
設定したルートとアカウントが意味を持つのは、失敗している RestTemplate が対応する request factory を使っている場合だけです。
有効なクライアントインスタンスを逆にたどります: RestTemplate → request factory → 基盤の HTTP クライアント → プロキシのルート/アカウント。別のインジェクトされた bean の隣に設定された helper は、その bean の呼び出しを変えません。
構築の順序は次のとおりです:
- 基盤クライアントのプロキシルートとエンドポイント単位の認証情報を設定します。
- そのクライアントを互換性のある HTTP-components の request factory に渡します。
- 処理を実行する RestTemplate でその factory を使います。
Spring Framework 6 の factory は Apache HttpComponents 5.1 以降を必要とします。HttpClient 4 のビルダー、認証情報、コンストラクタは別の世代のものです。factory の構築エラーは、407 が表す後段のネットワーク/認証経路より前に発生します。
Proxy-Authorization を追加する汎用の request interceptor は、先行する HTTPS CONNECT のやり取りを取りこぼすことがあります。プロキシと接続先のアカウントは、それぞれがサポートする transport/auth インターフェースに保ち、TLS 検証を維持してください。
報告には、Spring/クライアントの世代、有効な bean/factory、プロキシ、最終的なエラー段階を秘密情報なしで残してください。