Ang isang Java request ay maaaring makatagpo ng ilang proxy input: tahasang client configuration, ang default selector, JVM networking properties, at mga sinusuportahang operating-system settings. Kapag biglang binanggit ng log ang SOCKS, tukuyin kung aling input ang pumili nito.

Para sa code na gumagamit ng default selector, suriin ang desisyon para sa eksaktong destinasyon:

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

Iniuulat nito ang mga kandidato ng selector. Hindi nito pinapatunayan kung aling koneksyon ang sa huli ay nagtagumpay, at ang isang client na may sariling tahasang ruta ay maaaring gumawa ng ibang pagpili.

Suriin ang epektibong settings

Suriin ang http.proxyHost, https.proxyHost, socksProxyHost, ang kanilang mga port, at java.net.useSystemProxies. dokumentasyon ng JDK sa networking properties ay naglalarawan ng kanilang saklaw at prayoridad. Ang pagtuklas ng system proxy ay sinusuri sa pagsisimula; itakda ito nang sadya kapag sinisimulan ang JVM.

Ang mga makasaysayang sagot ay naglalarawan ng mga partikular na kombinasyon ng lumang Windows dialogs at lumang JDK. Ang mga ulat na iyon ay maaaring magpaliwanag ng pinagmulan ng isang workaround, ngunit hindi nila pinapatunayan na ang kasalukuyang runtime ay may parehong bug. Itala ang bersyon ng runtime at ang output ng selector bago baguhin ang operating-system settings para sa bawat application.

Kung ang application ay nangangailangan ng HTTP proxy para sa isang client, ang tahasang proxy configuration ay maaaring gawing mas malinaw ang pangangailangang iyon. Kung kailangan nito ng sentral na awtomatikong routing, siyasatin kung bakit natanggap o ibinalik ng selector ang hindi inaasahang SOCKS entry.

Ang custom na selector ay dapat panatilihin ang sinadyang bypass at paghawak ng pagkabigo. Ang walang-pagkakilanlang pag-filter sa bawat SOCKS kandidato ay maaaring makasira ng mga koneksyon na dapat gumamit ng isa. Ayusin ang maling tuntunin sa pinakamaliit na saklaw na matukoy mo.

Kaugnay na mga artikulo