Proxy girişi nəqliyyatın etimadnamə təminatçısına aiddir. Spring 6 və Apache HttpClient 5 üçün həmin hesabı vasitəçi ilə məhdudlaşdırın:

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

Tətbiq proxyUser və proxyPassword dəyərlərini təqdim edir və HTTP müştərisinin həyat dövrünə sahibdir. Çağırış yerində başqa standart şablon qurmadan rest-i iş yükü üçün təkrar istifadə edin.

AuthScope bu etimadnamənin harada keçərli olduğunu məhdudlaşdırır. Nümunə adi istifadəçi adı/parol etimadnamələri verir; BasicCredentialsProvider adı hər çağırışın HTTP Basic sxemindən istifadə etməsini məcbur etmir.

HTTPS təyinatı ilə nəqliyyat CONNECT zamanı proxy çağırışına cavab verə bilər, tətbiqin şifrələnmiş HTTP sorğusu hələ mövcud olmadan. Proxy-Authorization əlavə edən ümumi təyinat müdaxiləçisi bu danışıqlarla ekvivalent deyil.

Hər hansı təyinat hesabını ayrıca konfiqurasiya edin. Proxy sorğunu yenə rədd edirsə, onun elan etdiyi autentifikasiya sxemini və faktiki hostu və portu saxlayın. Başqa son nöqtə üçün məhdudlaşdırılmış etimadnamə yalnız parol düzgün olduğu üçün uyğun gəlməyəcək.

Əlaqəli məqalələr