प्रॉक्सी लॉगिन ट्रान्सपोर्टच्या क्रेडेन्शियल पुरवठादाराचे आहे. 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 जोडणारा सामान्य गंतव्य इंटरसेप्टर त्या वाटाघाटीशी समतुल्य नाही.

कोणतेही गंतव्य खाते स्वतंत्रपणे कॉन्फिगर करा. प्रॉक्सीने तरीही विनंती नाकारल्यास, त्याची जाहीर केलेली प्रमाणीकरण योजना आणि प्रभावी होस्ट व पोर्ट ठेवा. दुसऱ्या एंडपॉइंटसाठी मर्यादित क्रेडेन्शियल फक्त पासवर्ड बरोबर आहे म्हणून जुळणार नाही.

संबंधित लेख