Kannettava on toimiston Wi-Fi-verkossa, Ethernet-kaapeli on kytketty ja VPN-sovitin on edelleen olemassa. PAC-tiedostosi kysyy myIpAddress()"ltä, missä verkossa se on. Se kuulostaa järkevältä, kunnes se saa osoitteen, joka kuuluu väärälle sovittimelle.

Puuttuva yksityiskohta on, että funktio palauttaa yhden osoitteen. Se ei ole luettelo kaikista liitännöistä eikä ota yhteyttä verkkosivustoon julkisen IP-osoitteesi selvittämiseksi. Yksityinen osoite tai edes loopback-varavaihtoehto ei kerro, mitä lähtöosoitetta välityspalvelimen kautta kulkeva pyyntö käyttää.

Yksi vastaus koneelle, jolla on useita osoitteita

Verkkoliitännän valinta kuuluu PAC-toteutukseen. Vanha neuvo Windows-sovittimien uudelleenjärjestämisestä voi kuvata tiettyä selain- ja käyttöjärjestelmäversiota, mutta se on huono yleisratkaisu. Chromium dokumentoi oman valinta-algoritminsa ja usean verkon rajoitukset; toisen asiakkaan ei tarvitse tehdä samaa valintaa.

Aloita tunnistamalla arvo, jonka kyseinen selain todella toimitti, ja vertaa sitä sitten komentosarjasi aliverkkotarkistuksiin. Tee tämä erikseen Wi-Fi-verkossa, Ethernetissä ja hyväksytyssä VPN-yhteydessä. Yllättävältä näyttävä osoite voi silti täyttää toteutuksen säännöt.

Tee päätöksestä vähemmän arvailuun nojaava

Valitse välityspalvelin mahdollisuuksien mukaan kohdeisäntänimen perusteella oletetun asiakasliitännän sijaan. Jos verkon tunnistus on tarpeen, käytä tarkoituksellista, dokumentoitua signaalia, jota organisaatiosi hallitsee. Myös DNS-pohjaisella tunnistuksella on vikatiloja, joten määrittele, mitä tapahtuu, kun signaali ei ole käytettävissä.

Jotkin toteutukset tarjoavat myIpAddressEx(). Tarkista sen tuki ja palautusmuoto ennen käyttöönottoa; se ei ole suora korvaaja yksittäiselle IPv4-merkkijonolle. Varmista lopuksi tuloksena oleva pyyntöreitti itsenäisesti. Toimiston aliverkon oikea tunnistaminen ja aiotun välityspalvelimen saavuttaminen ovat kaksi erillistä tulosta.

Aiheeseen liittyvät artikkelit