प्रोक्सी लगइन ट्रान्सपोर्टको प्रमाण प्रदायकको हो। 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 थप्ने सामान्य गन्तव्य इन्टरसेप्टर त्यो वार्तासँग बराबर हुँदैन।

कुनै पनि गन्तव्य खाता छुट्टै कन्फिगर गर्नुहोस्। यदि प्रोक्सीले अझै अनुरोध अस्वीकार गर्छ भने, यसले घोषणा गरेको प्रमाणीकरण योजना र प्रभावकारी होस्ट र पोर्ट राख्नुहोस्। अर्को एन्डपोइन्टका लागि सीमित प्रमाण पासवर्ड सही भएर मात्र मिल्ने छैन।

सम्बन्धित लेखहरू