Pieteikšanās starpniekserverim pieder transporta akreditācijas datu nodrošinātājam. Izmantojot Spring 6 un Apache HttpClient 5, ierobežojiet šo kontu ar starpnieku:

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);

Lietojumprogramma nodrošina vērtības proxyUser un proxyPassword un pārvalda HTTP klienta dzīves ciklu. Darba slodzei izmantojiet rest atkārtoti, nevis izsaukuma vietā veidojiet vēl vienu noklusējuma veidni.

AuthScope ierobežo, kur šie akreditācijas dati ir derīgi. Piemērs nodrošina parastus lietotājvārda/paroles akreditācijas datus; nosaukums BasicCredentialsProvider neuzspiež katram izaicinājumam izmantot HTTP Basic shēmu.

Ar HTTPS galamērķi transports var atbildēt uz starpniekservera izaicinājumu CONNECT laikā, pirms pastāv lietojumprogrammas šifrētais HTTP pieprasījums. Vispārīgs galamērķa intercektors, kas pievieno Proxy-Authorization, nav līdzvērtīgs šai sarunai.

Konfigurējiet jebkuru galamērķa kontu atsevišķi. Ja starpniekserveris joprojām noraida pieprasījumu, saglabājiet tā paziņoto autentifikācijas shēmu un faktisko resursdatoru un portu. Akreditācijas dati, kas ierobežoti ar citu galapunktu, nesakritīs tikai tāpēc, ka parole ir pareiza.

Saistītie raksti