Преносни рачунар је на канцеларијском Wi-Fi-ју, Ethernet кабл је прикључен, а VPN адаптер је још увек присутан. Ваша PAC датотека пита myIpAddress() на којој је мрежи. То звучи разумно док не добије адресу која припада погрешном адаптеру.

Детаљ који недостаје је да функција враћа једну адресу. Она није попис свих интерфејса и не контактира веб сајт да открије вашу јавну IP адресу. Приватна адреса, или чак резервни loopback, не говори вам коју ће излазну адресу користити захтев кроз прокси.

Један одговор за рачунар са неколико адреса

Избор мрежног интерфејса припада PAC имплементацији. Стари савет да преуредите Windows адаптере може описивати одређену верзију прегледача и оперативног система, али је лоше универзално решење. Chromium документује сопствени алгоритам избора и ограничења код више мрежа; други клијент не мора донети исти избор.

Почните утврђивањем вредности коју је погођени прегледач стварно доставио, а затим је упоредите са проверама подмреже у вашој скрипти. Учините то одвојено на Wi-Fi-ју, Ethernet-у и одобреној VPN вези. Адреса која изгледа изненађујуће ипак може задовољити правила имплементације.

Нека одлука зависи од мање нагађања

Где је практично, изаберите прокси према имену одредишног хоста, а не према претпостављеном клијентском интерфејсу. Ако је откривање мреже неопходно, користите намерни, документовани сигнал који ваша организација контролише. Откривање путем DNS-а такође има режиме неуспеха, па дефинишите шта се дешава када тај сигнал није доступан.

Неке имплементације нуде myIpAddressEx(). Проверите његову подршку и формат враћања пре усвајања; то није изравна замена за један IPv4 низ. На крају, независно проверите резултујућу руту захтева. Исправно препознавање канцеларијске подмреже и долазак до жељеног проксија два су одвојена исхода.

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