ਪ੍ਰੌਕਸੀ ਲੌਗਇਨ ਟਰਾਂਸਪੋਰਟ ਦੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਪ੍ਰਦਾਤਾ ਦਾ ਹਿੱਸਾ ਹੈ। Spring 6 ਅਤੇ Apache HttpClient 5 ਨਾਲ, ਉਸ ਖਾਤੇ ਨੂੰ ਵਿਚੋਲੇ ਤੱਕ ਸੀਮਿਤ ਕਰੋ:

var proxy = new org.apache.hc.core5.http.HttpHost(
    "http", "proxy.example", 8080);
var credentials = new org.apache.hc.client5.http.impl.auth
    .BasicCredentialsProvider();
credentials.setCredentials(
    new org.apache.hc.client5.http.auth.AuthScope(proxy),
    new org.apache.hc.client5.http.auth.UsernamePasswordCredentials(
        proxyUser, proxyPassword.toCharArray()));

var http = org.apache.hc.client5.http.impl.classic.HttpClients.custom()
    .setProxy(proxy)
    .setDefaultCredentialsProvider(credentials)
    .build();
var factory = new org.springframework.http.client
    .HttpComponentsClientHttpRequestFactory(http);
var rest = new org.springframework.web.client.RestTemplate(factory);

ਐਪਲੀਕੇਸ਼ਨ proxyUser ਅਤੇ proxyPassword ਮੁੱਲ ਦਿੰਦਾ ਹੈ ਅਤੇ HTTP ਕਲਾਇੰਟ ਦੇ ਜੀਵਨ-ਚੱਕਰ ਦਾ ਮਾਲਕ ਹੈ। ਕਾਲ ਸਥਾਨ 'ਤੇ ਹੋਰ ਡਿਫ਼ਾਲਟ ਟੈਂਪਲੇਟ ਬਣਾਉਣ ਦੀ ਬਜਾਏ ਕੰਮ ਦੇ ਭਾਰ ਲਈ rest ਦੁਬਾਰਾ ਵਰਤੋ।

AuthScope ਸੀਮਿਤ ਕਰਦਾ ਹੈ ਕਿ ਇਹ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਕਿੱਥੇ ਯੋਗ ਹਨ। ਉਦਾਹਰਨ ਆਮ ਵਰਤੋਂਕਾਰ-ਨਾਮ/ਪਾਸਵਰਡ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਦਿੰਦੀ ਹੈ; BasicCredentialsProvider ਨਾਂ ਹਰ ਚੁਣੌਤੀ ਨੂੰ HTTP Basic ਸਕੀਮ ਵਰਤਣ ਲਈ ਮਜਬੂਰ ਨਹੀਂ ਕਰਦਾ।

HTTPS ਮੰਜ਼ਿਲ ਨਾਲ, ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਐਨਕ੍ਰਿਪਟਡ HTTP ਬੇਨਤੀ ਤੋਂ ਪਹਿਲਾਂ, ਟਰਾਂਸਪੋਰਟ CONNECT ਦੌਰਾਨ ਪ੍ਰੌਕਸੀ ਚੁਣੌਤੀ ਦਾ ਜਵਾਬ ਦੇ ਸਕਦਾ ਹੈ। Proxy-Authorization ਜੋੜਨ ਵਾਲਾ ਆਮ ਮੰਜ਼ਿਲ ਇੰਟਰਸੈਪਟਰ ਉਸ ਗੱਲਬਾਤ ਦੇ ਬਰਾਬਰ ਨਹੀਂ ਹੈ।

ਕਿਸੇ ਵੀ ਮੰਜ਼ਿਲ ਖਾਤੇ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਸੰਰਚਿਤ ਕਰੋ। ਜੇ ਪ੍ਰੌਕਸੀ ਅਜੇ ਵੀ ਬੇਨਤੀ ਨੂੰ ਰੱਦ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਸ ਦੀ ਘੋਸ਼ਿਤ ਪ੍ਰਮਾਣਿਕਤਾ ਸਕੀਮ ਅਤੇ ਪ੍ਰਭਾਵੀ ਹੋਸਟ ਤੇ ਪੋਰਟ ਰੱਖੋ। ਕਿਸੇ ਹੋਰ ਐਂਡਪੌਇੰਟ ਲਈ ਸੀਮਿਤ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਿਰਫ਼ ਪਾਸਵਰਡ ਸਹੀ ਹੋਣ ਕਰਕੇ ਨਹੀਂ ਮਿਲੇਗਾ।

ਸੰਬੰਧਿਤ ਲੇਖ