Spring WebClient-ის პროქსის კონფიგურაცია Reactor Netty-სთან
მიაწოდეთ პროქსით კონფიგურირებული Reactor Netty კლიენტი WebClient-ის კონექტორის მეშვეობით და გაითვალისწინეთ მისი CONNECT-ზე დაფუძნებული პროქსის ქცევა.
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 პროქსების სია გთავაზობთ ჰოსტისა და პორტის კანდიდატებს; დაადასტურეთ CONNECT წვდომა ფაქტობრივ დანიშნულებამდე. ტიპები HttpClient/ProxyProvider Reactor Netty-ს ეკუთვნის და არა Java-ს სტანდარტულ კლიენტს. სხვა ინექციურ WebClient-ს შეიძლება ჰქონდეს სხვა კონექტორი.
Reactor Netty-ის დოკუმენტირებული Netty HTTP პროქსის გზა იყენებს CONNECT-ს დანიშნულების სქემის მიუხედავად. ამიტომ ჩვეულებრივ HTTP სამიზნეს შეიძლება დასჭირდეს გვირაბის ნებართვა მის პორტზე, მაშინაც კი, როცა პროქსი იქ იღებს ჩვეულებრივ გადამისამართებულ HTTP-ს. წაიკითხეთ პროქსის ფაქტობრივი პასუხი URL-ის სქემის შეცვლამდე. ჩვეულებრივი HTTP/1.1 გადაცემის მოთხოვნის მქონე თავსებადი Spring 6.2 განლაგებისთვის Jetty 12.0.35 კონექტორის მაგალითი გთავაზობთ ამ ალტერნატივას.
JVM თვისებებით მარშრუტიზაციისთვის აირჩიეთ Reactor Netty-ის დოკუმენტირებული opt-in კონფიგურაცია. JVM-ში არსებული თვისება ყველა კონექტორს არ კონფიგურირებს.
ცალ-ცალკე შეინახეთ პროქსის კონფიგურაცია/ავთენტიფიკაცია, დანიშნულების TLS და აპლიკაციის პასუხები. კონექტორი გაძლევთ მარშრუტს და არა დანიშნულების სერტიფიკატებს ან პროტოკოლის შედეგს.