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

ใช้ WebClient นี้สำหรับการเรียก สำหรับบริการสาธารณะบนเส้นทางพร็อกซีสาธารณะที่ได้รับอนุญาต รายการพร็อกซี HTTP ให้ host และ port ที่เป็นตัวเลือก ยืนยันการเข้าถึง CONNECT ไปยังปลายทางจริง ประเภท HttpClient/ProxyProvider เป็นของ Reactor Netty ไม่ใช่ไคลเอนต์มาตรฐานของ Java WebClient อีกตัวที่ถูกฉีดเข้าสามารถเก็บคอนเนกเตอร์อีกตัวได้

เส้นทางพร็อกซี HTTP ของ Netty ที่ Reactor Netty จัดทำเอกสารไว้ใช้ CONNECT โดยไม่คำนึงถึงสคีมาของปลายทาง เป้าหมาย HTTP ธรรมดาจึงอาจต้องได้รับอนุญาตอุโมงค์ไปยัง port ของตน แม้พร็อกซีจะยอมรับ HTTP ที่ส่งต่อแบบปกติที่นั่น อ่านการตอบกลับจริงของพร็อกซีก่อนเปลี่ยนสคีมาของ URL สำหรับการติดตั้ง Spring 6.2 ที่เข้ากันได้ซึ่งต้องการการส่งต่อ HTTP/1.1 แบบปกติ ตัวอย่างคอนเนกเตอร์ Jetty 12.0.35 มีทางเลือกนั้น

สำหรับการกำหนดเส้นทางด้วยพร็อพเพอร์ตีของ JVM ให้เลือกการกำหนดค่าแบบ opt-in ที่ Reactor Netty จัดทำเอกสารไว้ พร็อพเพอร์ตีที่มีอยู่ใน JVM ไม่ได้กำหนดค่าคอนเนกเตอร์ทุกตัว

แยกการตั้งค่า/การรับรองความถูกต้องของพร็อกซี TLS ของปลายทาง และการตอบกลับของแอปพลิเคชันออกจากกัน คอนเนกเตอร์ให้เส้นทาง ไม่ใช่ข้อมูลรับรองของปลายทางหรือผลลัพธ์ของโปรโตคอล

บทความที่เกี่ยวข้อง