Ní chiallaíonn 407 arís agus arís eile i gcónaí gur sheol Java pasfhocal mícheart. De ghnáth díchumasaíonn cur chun feidhme tagartha an JDK fíordheimhniú Basic do thollánú HTTPS CONNECT. Féadfar seachfhreastalaí nach dtairgeann ach Basic a dhiúltú sula soláthraíonn do callback fíordheimhnithe dintiúir.

Coinnigh raon teoranta ar an callback dintiúr

Ceangail Authenticator leis an gcliant HTTP Java agus teorannaigh don seachfhreastalaí cumraithe é:

String proxyHost = "203.0.113.10";
int proxyPort = 8080;
String password = System.getenv("PROXY_PASSWORD");
if (password == null) {
    throw new IllegalStateException("Set PROXY_PASSWORD");
}

java.net.Authenticator auth = new java.net.Authenticator() {
    @Override
    protected java.net.PasswordAuthentication getPasswordAuthentication() {
        if (getRequestorType() == RequestorType.PROXY
                && proxyHost.equals(getRequestingHost())
                && proxyPort == getRequestingPort()) {
            return new java.net.PasswordAuthentication(
                "proxy-user", password.toCharArray());
        }
        return null;
    }
};

java.net.http.HttpClient client = java.net.http.HttpClient.newBuilder()
    .proxy(java.net.ProxySelector.of(
        new java.net.InetSocketAddress(proxyHost, proxyPort)))
    .authenticator(auth)
    .connectTimeout(java.time.Duration.ofSeconds(5))
    .build();

Is cód socraithe do chliant é seo, ní fíordheimhnitheoir domhanda réamhshocraithe. Athraigh an seoladh doiciméadúcháin agus úsáid dintiúir a tugadh don tseirbhís sin i ndáiríre. Cuireann seiceálacha cineál iarrthóra agus críochphointe cosc ar an callback céanna an cuntas proxy a thairiscint go míchúramach do dhúshlán fíordheimhnithe láithreáin.

Seiceáil cén chéim fíordheimhnithe atá ag teip

Tá socruithe scéimeanna díchumasaithe ar leith ag an JDK do ghnáthproxy HTTP agus do thollánú CONNECT. Is iad jdk.http.auth.proxying.disabledSchemes agus jdk.http.auth.tunneling.disabledSchemes na hainmneacha.

Míníonn sé sin cén fáth ar féidir trácht HTTP a fhíordheimhniú agus tollán HTTPS tríd an proxy céanna ag teip. Seiceáil conf/net.properties na timpeallachta rite agus an beartas imscartha seachas glacadh leis na réamhshocruithe éifeachtacha céanna ar mheaisín eile.

Ní deisiú ginearálta proxy é liosta scéimeanna díchumasaithe a ghlanadh go domhanda. Ní chosnaíonn an ceangal TLS níos déanaí leis an gceann scríbe dintiúir Basic a sheoltar chuig proxy HTTP i ngnáth-théacs. Athbhreithnigh iompar an tseachfhreastalaí, an modh fíordheimhnithe agus an beartas imscartha sula gceadaítear athrú.

Ní gealltanas tacaíochta do gach scéim a fhógraíonn proxy é iompar fíordheimhnithe ionsuite doiciméadaithe an JDK ach oiread. Athraíonn ceanntásc Authorization nó Proxy-Authorization a thugtar de láimh sreabhadh an fhíordheimhnitheora uathoibríoch; scrúdaigh ceanntásca saincheaptha má iompraíonn an callback difriúil ón sampla.

Ailt ghaolmhara