Talba Java tista' tiltaqa' ma' diversi inputs tal-proxy: konfigurazzjoni espliċita tal-klijent, is-selettur default, proprjetajiet tan-netwerking tal-JVM u settings tas-sistema operattiva appoġġjati. Meta log jissemma SOCKS b'mod mhux mistenni, identifika liema input għażlu.

Għal kodiċi li juża s-selettur default, iċċekkja d-deċiżjoni għad-destinazzjoni eżatta:

URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
    System.out.println(selector.select(target));
}

Dan jirrapporta l-kandidati tas-selettur. Ma jippruvax liema konnessjoni finalment irnexxiet, u klijent b'rotta espliċita tiegħu stess jista' jagħmel għażla differenti.

Iċċekkja s-settings effettivi

Irrevedi http.proxyHost, https.proxyHost, socksProxyHost, il-portijiet tagħhom u java.net.useSystemProxies. Id-dokumentazzjoni tal-proprjetajiet tan-netwerking tal-JDK tiddeskrivi l-ambitu u l-preċedenza tagħhom. Is-sejbien tal-proxy tas-sistema jiġi ċċekkjat mal-bidu; issettjah b'mod intenzjonat meta tibda l-JVM.

Tweġibiet storiċi jiddeskrivu kombinazzjonijiet speċifiċi ta' djalogi antiki tal-Windows u JDKs antiki. Dawk ir-rapporti jistgħu jispjegaw l-oriġini ta' soluzzjoni, iżda ma jippruvawx li runtime attwali għandu l-istess bug. Irreġistra l-verżjoni tar-runtime u l-output tas-selettur qabel ma tibdel is-settings tas-sistema operattiva għal kull applikazzjoni.

Jekk l-applikazzjoni teħtieġ proxy HTTP għal klijent wieħed, konfigurazzjoni espliċita tal-proxy tista' tagħmel dik il-ħtieġa aktar ċara. Jekk teħtieġ routing awtomatiku ċentrali, investiga għaliex is-selettur irċieva jew irritorna l-entrata SOCKS mhux mistennija.

Selettur personalizzat għandu jippreserva bypass intenzjonati u l-immaniġġjar tal-fallimenti. L-iffiltrar ta' kull kandidat SOCKS mingħajr distinzjoni jista' jkisser konnessjonijiet li kellhom jużaw wieħed. Sejjah ir-regola żbaljata bl-iżgħar ambitu li tista' tidentifika.

Artikli relatati