HttpClient httpClient = HttpClient.create()
    .proxy(proxy -> proxy.type(ProxyProvider.Proxy.HTTP)
        .host("203.0.113.10").port(8080));

WebClient client = WebClient.builder()
    .clientConnector(new ReactorClientHttpConnector(httpClient))
    .build();

Gunakan WebClient ini untuk panggilan. Untuk layanan publik pada rute proksi publik yang diizinkan, daftar proksi HTTP menyediakan kandidat host dan port; pastikan akses CONNECT ke tujuan sebenarnya. Tipe HttpClient/ProxyProvider milik Reactor Netty, bukan klien standar Java. WebClient lain yang disuntikkan dapat mempertahankan konektor lain.

Jalur proksi HTTP Netty yang didokumentasikan Reactor Netty menggunakan CONNECT terlepas dari skema tujuan. Karena itu, target HTTP biasa dapat memerlukan izin terowongan ke portnya bahkan ketika proksi di sana menerima HTTP yang diteruskan biasa. Baca respons proksi yang sebenarnya sebelum mengubah skema URL. Untuk penerapan Spring 6.2 yang kompatibel dan memerlukan penerusan HTTP/1.1 biasa, contoh konektor Jetty 12.0.35 menyediakan alternatif itu.

Untuk perutean properti JVM, pilih konfigurasi opt-in yang didokumentasikan Reactor Netty. Properti yang ada di JVM tidak mengonfigurasi setiap konektor.

Pisahkan penyiapan/autentikasi proksi, TLS tujuan, dan respons aplikasi. Konektor menyediakan rute, bukan kredensial tujuan atau hasil protokol.

Artikel terkait