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 ਪ੍ਰੌਕਸੀ ਸੂਚੀ host ਅਤੇ port ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ; ਅਸਲ ਮੰਜ਼ਿਲ ਤੱਕ CONNECT ਪਹੁੰਚ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ। HttpClient/ProxyProvider ਕਿਸਮਾਂ Reactor Netty ਦੀਆਂ ਹਨ, Java ਦੇ ਮਿਆਰੀ ਕਲਾਇੰਟ ਦੀਆਂ ਨਹੀਂ। ਇੱਕ ਹੋਰ ਇੰਜੈਕਟ ਕੀਤਾ WebClient ਇੱਕ ਹੋਰ ਕਨੈਕਟਰ ਰੱਖ ਸਕਦਾ ਹੈ।
Reactor Netty ਦਾ ਦਸਤਾਵੇਜ਼ੀ Netty HTTP ਪ੍ਰੌਕਸੀ ਰਾਹ ਮੰਜ਼ਿਲ ਦੇ ਸਕੀਮ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ CONNECT ਵਰਤਦਾ ਹੈ। ਇਸ ਲਈ ਇੱਕ ਸਾਧਾਰਨ HTTP ਟਾਰਗਿਟ ਨੂੰ ਆਪਣੇ port ਤੱਕ ਟਨਲ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ, ਭਾਵੇਂ ਪ੍ਰੌਕਸੀ ਉੱਥੇ ਸਾਧਾਰਨ ਫਾਰਵਰਡ ਕੀਤਾ HTTP ਸਵੀਕਾਰ ਕਰਦਾ ਹੋਵੇ। URL ਦਾ ਸਕੀਮ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਅਸਲ ਪ੍ਰੌਕਸੀ ਜਵਾਬ ਪੜ੍ਹੋ। ਸਾਧਾਰਨ HTTP/1.1 ਫਾਰਵਰਡਿੰਗ ਦੀ ਲੋੜ ਵਾਲੇ ਅਨੁਕੂਲ Spring 6.2 ਡਿਪਲੌਇਮੈਂਟ ਲਈ, Jetty 12.0.35 ਕਨੈਕਟਰ ਉਦਾਹਰਨ ਉਹ ਵਿਕਲਪ ਦਿੰਦੀ ਹੈ।
JVM-ਪ੍ਰਾਪਰਟੀ ਰੂਟਿੰਗ ਲਈ, Reactor Netty ਦੀ ਦਸਤਾਵੇਜ਼ੀ opt-in ਕਨਫਿਗਰੇਸ਼ਨ ਚੁਣੋ। JVM ਵਿੱਚ ਮੌਜੂਦ ਪ੍ਰਾਪਰਟੀ ਹਰ ਕਨੈਕਟਰ ਨੂੰ ਕਨਫਿਗਰ ਨਹੀਂ ਕਰਦੀ।
ਪ੍ਰੌਕਸੀ ਸੈਟਅਪ/ਪ੍ਰਮਾਣਿਕਤਾ, ਮੰਜ਼ਿਲ ਦਾ TLS ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਜਵਾਬ ਵੱਖਰੇ ਰੱਖੋ। ਕਨੈਕਟਰ ਰੂਟ ਦਿੰਦਾ ਹੈ, ਮੰਜ਼ਿਲ ਦੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਜਾਂ ਪ੍ਰੋਟੋਕੋਲ ਨਤੀਜਾ ਨਹੀਂ।