ProxyOptions を指定して Vert.x WebClient を作成する
Vert.x 4.5 WebClient を作成する際に明示的な HTTP プロキシを設定し、宛先リクエストをサービス宛てに保ちます。
ProxyOptions proxy = new ProxyOptions()
.setType(ProxyType.HTTP)
.setHost("proxy.example")
.setPort(8080);
WebClient client = WebClient.create(vertx,
new WebClientOptions().setProxyOptions(proxy));
client.getAbs("https://example.com/").send()
.onSuccess(response -> System.out.println(response.statusCode()))
.onFailure(Throwable::printStackTrace);Vert.x 4.5.7 では、既存の Vertx インスタンスと対応する core/WebClient クラスが前提です。リクエストの URL はあくまで Web サイトであり、ProxyOptions が中継役を選びます。この公開サイトの例では、その経路が許可されプロキシのアカウントが不要な場合、HTTP プロキシ一覧から HTTP エンドポイントを選びます。
デプロイ値が JVM プロパティから来る場合は、これらのオプションを構築する前に読み取って検証してください。System に値があるからといって、このクライアントがそれを取り込んだ証拠にはなりません。
エンドポイントが必要とするプロキシ種別を選び、必要に応じてサポートされているユーザー名/パスワードのフィールドを使います。HTTPS では通常の TLS 検証を維持してください。
このクライアントはそのワークロードで再利用し、その後で閉じます。別の設定済みクライアントを作成しても、古いインスタンス経由で送信中のリクエストには影響しません。