Innskráning í proxy tilheyrir skírteinaveitanda flutningsins. Með Spring 6 og Apache HttpClient 5 skaltu takmarka þann reikning við milliliðinn:

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

Forritið útvegar gildin proxyUser og proxyPassword og á lífsferil HTTP-biðlarans. Endurnýttu rest fyrir vinnuálagið í stað þess að byggja annað sjálfgefið sniðmát á kallsstaðnum.

AuthScope takmarkar hvar þessi skírteini gilda. Dæmið útvegar venjuleg notandanafn/lykilorðsskírteini; nafnið BasicCredentialsProvider neyðir ekki hverja áskorun til að nota HTTP Basic fyrirkomulagið.

Með HTTPS-áfangastað getur flutningurinn svarað proxy-áskorun meðan á CONNECT stendur, áður en dulkóðuð HTTP-beiðni forritsins er til. Almennur áfangastaðartengill sem bætir við Proxy-Authorization jafngildir ekki þeirri samningaviðræðu.

Stilltu hvern áfangastaðarreikning sérstaklega. Ef proxy hafnar beiðninni enn skaltu varðveita tilkynnta auðkenningaraðferð og raunverulega vél og gátt. Skírteini sem takmörkuð eru við annan endapunkt passa ekki bara af því að lykilorðið er rétt.

Tengdir greinar