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();

Pro volání použijte tento WebClient. Pro veřejné služby na povolené veřejné proxy trase dodává seznam HTTP proxy kandidáty na hostitele a port; potvrďte přístup CONNECT ke skutečnému cíli. Typy HttpClient/ProxyProvider jsou z Reactor Netty, nikoli standardní klient Javy. Jiný injektovaný WebClient může mít jiný konektor.

Dokumentovaná cesta HTTP proxy Netty v Reactor Netty používá CONNECT bez ohledu na schéma cíle. Prostý HTTP cíl proto může potřebovat povolení tunelu ke svému portu, i když proxy tam přijímá běžné předávané HTTP. Než změníte schéma URL, přečtěte si skutečnou odpověď proxy. Pro kompatibilní nasazení Spring 6.2, které potřebuje běžné předávání HTTP/1.1, poskytuje tuto alternativu příklad konektoru Jetty 12.0.35.

Pro směrování pomocí vlastností JVM zvolte dokumentovanou opt-in konfiguraci Reactor Netty. Vlastnost přítomná v JVM nenakonfiguruje každý konektor.

Udržujte nastavení/autentizaci proxy, TLS cíle a odpovědi aplikace oddělené. Konektor dodává trasu, nikoli přihlašovací údaje cíle nebo výsledek protokolu.

Související články