Petite article car j’ai été confronté a un soucis tout bête avec le wpad Chrome, Firefox et ie.
Je souhaitais utiliser un truc du genre :
if(isInNet(myIpAddress(), « 172.29.0.0 », « 255.255.0.0 »)) { return proxy_no; }
return proxy_yes;
En gros, si tu est dans le vlan 172.29.0.0 tu n’applique pas le proxy. Mais pour tout le reste oui
Cela fonctionne parfaitement avec ie et firefox mais pas avec chrome 🙁
J’ai donc contacté google pour savoir pourquoi cela ne fonctionnait pas avec eux. Il s’agit en faite d’un bug: https://code.google.com/p/chromium/issues/detail?id=267101
L’issue est ouverte depuis longtemps mais n’est pas réparée.
Google m’a quand même donnée une solution, utiliser isInNetEx :
if(isInNetEx(myIpAddress(), « 172.29.0.0 », « 255.255.0.0 »)) { return proxy_no; }
return proxy_yes;
Super ! Maintenant ça fonctionne ! Bon par contre plus du tout avec Firefox …
La seul solution que j’ai trouvé est d’empêcher que Firefox entre dans la boucle if(isInNetEx(myIpAddress() pour ne pas le faire planter et donc déclarer tous les cas possibles.
if(isInNet(myIpAddress(), « 172.28.0.0 », « 255.255.0.0 »)) { return proxy_yes; }
if(isInNet(myIpAddress(), « 172.29.0.0 », « 255.255.0.0 »)) { return proxy_no; }
if(isInNetEx(myIpAddress(), « 172.28.0.0 », « 255.255.0.0 »)) { return proxy_yes; }
if(isInNetEx(myIpAddress(), « 172.29.0.0 », « 255.255.0.0 »)) { return proxy_no; }
En gros il faut absolument que if(isInNet(myIpAddress() soit déclaré pour tous vos VLAN comme ceci, firefox s’arrêtera toujours a la première correspondance.