Java захтев може наићи на неколико прокси улаза: експлицитну конфигурацију клијента, подразумевани селектор, JVM мрежна својства и подржана подешавања оперативног система. Када се у дневнику неочекивано помене SOCKS, утврдите који је улаз то изабрао.

За код који користи подразумевани селектор, прегледајте одлуку за тачно одредиште:

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

Ово приказује кандидате селектора. Не доказује која је веза на крају успела, а клијент са сопственом експлицитном рутом може донети другачији избор.

Проверите важећа подешавања

Прегледајте http.proxyHost, https.proxyHost, socksProxyHost, њихове портове и java.net.useSystemProxies. JDK документација о мрежним својствима описује њихов обим и приоритет. Откривање системског проксија проверава се при покретању; поставите га намерно при покретању JVM-а.

Историјски одговори описују одређене комбинације старих Windows дијалога и старих JDK-ова. Ти извештаји могу објаснити порекло заобилазног решења, али не доказују да тренутно окружење има исти проблем. Забележите верзију окружења и излаз селектора пре него што промените подешавања оперативног система за сваку апликацију.

Ако апликацији треба HTTP прокси за једног клијента, експлицитна прокси конфигурација може разјаснити тај захтев. Ако јој је потребно централно аутоматско усмеравање, истражите зашто је селектор примио или вратио неочекивани SOCKS унос.

Прилагођени селектор треба да сачува намерне заобилазнице и обраду грешака. Неумерено филтрирање сваког SOCKS кандидата може прекинути везе које су требале да га користе. Исправите погрешно правило са најмањим обимом који можете утврдити.

Повезани чланци