Camel の HTTP4 コンポーネントを使用して、HTTP プロキシ経由で HTTPS 接続をトンネリングしようとしています。
複数のルートがあるため、ルート定義レベルではなくコンポーネント レベルでプロキシを構成したいと考えています。
キャメルコンテキストで次を設定しました:
http.proxyHost=myproxy.mydomain.com
http.proxyPort=80
http.proxyScheme=http4
私のルートの例:
from("direct:start")
.to("https4://www.verisign.com")
.to("direct:downloadProcessor");
このルートを実行すると、エラーが発生します。java.lang.IllegalStateException: Scheme 'http4' not registered.
ただし、各ルート定義でプロキシ構成を指定すると、次のようになります。
from("direct:start")
.to("https4://www.verisign.com?proxyAuthHost=myproxy.mydomain.com&proxyAuthPort=80&proxyAuthScheme=http4")
.to("direct:downloadProcessor");
正常に動作し、ログに CONNECT リクエストが表示されますDEBUG DefaultClientConnection - Sending request: CONNECT www.verisign.com:443 HTTP/1.1
。
CAMEL-4176のテスト中に見つかった問題に少し似ていますが、これは Camel 2.8.0 で修正済みとしてマークされています (私は 2.10.0 を使用しています)。
各ルートではなく HTTP コンポーネントでプロキシを構成できない理由はありますか?