Zašto vaša PAC datoteka odabire pogrešan mrežni adapter
Prijenosno računalo može imati nekoliko lokalnih adresa. PAC pravilo zasnovano na myIpAddress() može prepoznati drugi interfejs od očekivanog.
Prijenosno računalo je na uredskom Wi-Fi-ju, Ethernet kabel je priključen, a VPN adapter je još prisutan. Vaša PAC datoteka pita myIpAddress() na kojoj je mreži. To zvuči razumno sve dok ne dobije adresu koja pripada pogrešnom adapteru.
Detalj koji nedostaje je da funkcija vraća jednu adresu. Ona nije popis svih interfejsa i ne kontaktira web stranicu da otkrije vašu javnu IP adresu. Privatna adresa, ili čak rezervni loopback, ne govori vam koju će izlaznu adresu koristiti zahtjev kroz proxy.
Jedan odgovor za računalo s nekoliko adresa
Odabir mrežnog interfejsa pripada PAC implementaciji. Stari savjet da preuredite Windows adaptere može opisivati određenu verziju preglednika i operativnog sistema, ali je loše univerzalno rješenje. Chromium dokumentira vlastiti algoritam odabira i ograničenja kod više mreža; drugi klijent ne mora donijeti isti izbor.
Počnite tako što ćete utvrditi vrijednost koju je pogođeni preglednik stvarno dostavio, a zatim je uporedite s provjerama podmreže u vašoj skripti. Učinite to odvojeno na Wi-Fi-ju, Ethernetu i odobrenoj VPN vezi. Adresa koja izgleda iznenađujuće ipak može zadovoljiti pravila implementacije.
Neka odluka zavisi od manje nagađanja
Gdje je praktično, odaberite proxy prema imenu odredišnog hosta, a ne prema pretpostavljenom klijentskom interfejsu. Ako je otkrivanje mreže neophodno, koristite namjerni, dokumentirani signal koji vaša organizacija kontrolira. Otkrivanje putem DNS-a također ima načine neuspjeha, pa definirajte šta se događa kada taj signal nije dostupan.
Neke implementacije nude myIpAddressEx(). Provjerite njegovu podršku i format vraćanja prije usvajanja; to nije izravna zamjena za jedan IPv4 niz. Na kraju, nezavisno provjerite rezultirajuću rutu zahtjeva. Ispravno prepoznavanje uredske podmreže i dolazak do željenog proxyja dva su odvojena ishoda.