Reactor Netty ನೊಂದಿಗೆ Spring WebClient ಪ್ರಾಕ್ಸಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ
WebClient ನ ಕನೆಕ್ಟರ್ ಮೂಲಕ ಪ್ರಾಕ್ಸಿ-ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ Reactor Netty ಕ್ಲೈಂಟ್ ಒದಗಿಸಿ ಮತ್ತು ಅದರ 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 ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಿ. ಕನೆಕ್ಟರ್ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಗಮ್ಯಸ್ಥಾನದ ರುಜುವಾತುಗಳು ಅಥವಾ ಪ್ರೋಟೋಕಾಲ್ ಫಲಿತಾಂಶವಲ್ಲ.