Reactor Netty ನ HTTP ಪ್ರಾಕ್ಸಿ ಹ್ಯಾಂಡ್ಲರ್ ಸಾಮಾನ್ಯ HTTP ಗಮ್ಯಸ್ಥಾನಕ್ಕೂ CONNECT ಸುರಂಗವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ. ಉದ್ದೇಶಿತ ಪ್ರಾಕ್ಸಿ ಬದಲಿಗೆ ಸಾಮಾನ್ಯ HTTP/1.1 ಫಾರ್ವರ್ಡಿಂಗ್ ಸ್ವೀಕರಿಸಿದರೆ, Spring WebClient ಇನ್ನೊಂದು ಬೆಂಬಲಿತ ಕನೆಕ್ಟರ್ ಬಳಸಬಹುದು.

Spring 6.2 ಗಾಗಿ Jetty 12.0.35 ನ ಕ್ಲೈಂಟ್ API ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವ Jetty Reactive Streams ಸಂಯೋಜನೆಯೊಂದಿಗೆ:

var jetty = new org.eclipse.jetty.client.HttpClient(
    new org.eclipse.jetty.client.transport.HttpClientTransportOverHTTP());
jetty.getProxyConfiguration().addProxy(
    new org.eclipse.jetty.client.HttpProxy("proxy.example", 8080));

var client = WebClient.builder()
    .clientConnector(new JettyClientHttpConnector(jetty))
    .build();

WebClient ಮತ್ತು JettyClientHttpConnector Spring ವರ್ಗಗಳು. ಒದಗಿಸಿದ Jetty ಕ್ಲೈಂಟ್‌ನ ಆರಂಭ ಮತ್ತು ನಿಲುಗಡೆಯನ್ನು ಅಪ್ಲಿಕೇಶನ್‌ನ ಸಾಮಾನ್ಯ ಜೀವನಚಕ್ರದ ಮೂಲಕ ನಿರ್ವಹಿಸಿ.

Jetty ಯ HTTP/1.1 ಪ್ರಾಕ್ಸಿ ಸುರಂಗವಿಲ್ಲದೆ ಸಾಮಾನ್ಯ HTTP/1.1 ವಿನಂತಿಯನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಬಹುದು, ಗಮ್ಯಸ್ಥಾನ ಮತ್ತು ಕ್ಲೈಂಟ್-ಪ್ರಾಕ್ಸಿ ಪ್ರೋಟೋಕಾಲ್‌ಗಳು ಹೊಂದಿಕೆಯಾದಾಗ. ಅದರ requiresTunnel ನೀತಿ ಸುರಕ್ಷಿತ ಗಮ್ಯಸ್ಥಾನಗಳಿಗೆ ಮತ್ತು ಹೊಂದಿಕೆಯಾಗದ ಪ್ರೋಟೋಕಾಲ್ ಮಾರ್ಗಗಳಿಗೆ CONNECT ಬಳಸುತ್ತದೆ.

ಇದು ಸಾಮಾನ್ಯ HTTPS ಸುರಂಗದಿಂದ CONNECT ತೆಗೆದುಹಾಕುವ ದಾರಿಯಲ್ಲ. ಗಮ್ಯಸ್ಥಾನದ ಸ್ಕೀಮ್ ಸರಿಯಾಗಿ ಇರಿಸಿ.

ಹೇಳಿದ Jetty API ನಲ್ಲಿ addProxy ಬಳಸಿ. getProxies ಬದಲಾಯಿಸಲಾಗದ ಪಟ್ಟಿ ಹಿಂತಿರುಗಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಹಳೆಯ getProxies().add(...) ವಿಧಾನ ಅದರ ಪ್ರಸ್ತುತ ಮ್ಯುಟೇಶನ್ ಇಂಟರ್ಫೇಸ್ ಅಲ್ಲ.

ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ-ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗದಲ್ಲಿ ಸಾರ್ವಜನಿಕ HTTP ಗಮ್ಯಸ್ಥಾನಗಳಿಗೆ, HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ Jetty ಯ ಪ್ರಾಕ್ಸಿ ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್‌ಗೆ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಕನೆಕ್ಟರ್‌ಗಳನ್ನು ಹೋಲಿಸುವಾಗ ನಿಜವಾದ ಪ್ರಾಕ್ಸಿ ಪ್ರತಿಕ್ರಿಯೆ ಓದಿ. ದೃಢೀಕರಣ, ಗಮ್ಯಸ್ಥಾನ ನೀತಿ ಮತ್ತು ಲಭ್ಯವಿಲ್ಲದ ಗಮ್ಯಸ್ಥಾನ ಫಾರ್ವರ್ಡ್ HTTP ಮತ್ತು CONNECT ನಡುವಿನ ಆಯ್ಕೆಯಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿರುತ್ತವೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು