Jätä Java SOCKS -kohde ratkaisematta
Vältä kohteen paikallinen DNS, kun luot Java SOCKS -yhteyden säilyttämällä kohde-isäntänimen.
SOCKS-yhteys voi epäonnistua paikallisesti ennen kuin välityspalvelin ehtii ratkaista kohteen. Tarkista, ratkaisiko koodisi kohteen soketin osoitetta rakentaessaan.
Säilytä Java SOCKS -soketissa kohde-isäntänimi ratkaisemattomalla kohdeosoitteella:
Proxy proxy = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("203.0.113.10", 1080));
Socket socket = new Socket(proxy);
socket.connect(InetSocketAddress.createUnresolved(
"destination.example", 443), 5000);Päätepiste ja isäntänimi ovat paikkamerkkejä; käytä SOCKS5-palveluasi tai ehdokasta SOCKS5-välityspalvelinluettelosta sallittuihin julkisten kohteiden testeihin. Tärkeä ero on välityspalvelimen ratkaisemisen (jotta voit tavoittaa sen) ja SOCKS-vaihdon kohdenimen säilyttämisen välillä.
Yhdistämisen jälkeen HTTPS-asiakas tarvitsee edelleen TLS-istunnon kohde-isäntänimelle. TLS-kääreen ei pitäisi käyttää välityspalvelimen isäntänimeä vastapuolen identiteettinä.
Tarkista myös ylemmän tason koodi: kirjasto voi tehdä oman hakunsa ennen liittimesi kutsumista. Isäntänimen säilyttäminen tässä soketin osoitteessa ei voi peruuttaa muualla sovelluksessa tehtyä hakua.