ప్రాక్సీ లాగిన్ రవాణా యొక్క ఆధారాల ప్రదాతకు చెందుతుంది. 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 జోడించే సాధారణ గమ్యస్థాన ఇంటర్సెప్టర్ ఆ చర్చతో సమానం కాదు.

ఏదైనా గమ్యస్థాన ఖాతాను విడిగా కాన్ఫిగర్ చేయండి. ప్రాక్సీ ఇప్పటికీ అభ్యర్థనను తిరస్కరిస్తే, అది ప్రకటించిన ప్రామాణీకరణ పథకాన్ని మరియు అసలు హోస్ట్ మరియు పోర్టును ఉంచండి. మరో ఎండ్పాయింట్కు పరిమితమైన ఆధారం పాస్వర్డ్ సరిగ్గా ఉన్నందుకే సరిపోలదు.

సంబంధిత వ్యాసాలు