Por que o teu ficheiro PAC escolle o adaptador de rede incorrecto
Un portátil pode ter varias direccións locais. Unha regra PAC baseada en myIpAddress() pode identificar unha interface distinta da que esperabas.
O portátil está na Wi-Fi da oficina, o cable Ethernet está conectado e o adaptador VPN segue presente. O teu ficheiro PAC pregunta a myIpAddress() en que rede está. Iso soa razoable ata que recibe unha dirección que pertence ao adaptador incorrecto.
O detalle que falta é que a función devolve unha soa dirección. Non é un inventario de todas as interfaces e non contacta cun sitio web para descubrir o teu IP público. Unha dirección privada, ou mesmo unha alternativa de loopback, non che di que dirección de saída usará unha solicitude a través do proxy.
Unha resposta para unha máquina con varias direccións
A selección da interface de rede pertence á implementación do PAC. O antigo consello de reordenar os adaptadores de Windows pode describir unha versión concreta de navegador e de sistema operativo, pero é unha mala solución universal. Chromium documenta o seu propio algoritmo de selección e as limitacións con varias redes; outro cliente non ten por que facer a mesma elección.
Comeza identificando o valor que o navegador afectado forneceu realmente e compárao coas comprobacións de subrede do teu script. Faino por separado en Wi-Fi, Ethernet e a conexión VPN aprobada. Unha dirección que parece sorprendente aínda pode cumprir as regras da implementación.
Fai que a decisión dependa de menos conxecturas
Cando sexa posible, escolle un proxy a partir do nome de host de destino en lugar dunha interface de cliente suposta. Se a detección de rede é necesaria, usa un sinal deliberado e documentado que controle a túa organización. A detección baseada en DNS tamén ten modos de fallo, así que define que ocorre cando ese sinal non está dispoñible.
Algunhas implementacións ofrecen myIpAddressEx(). Comproba o seu soporte e o seu formato de retorno antes de adoptalo; non é un substituto directo dunha única cadea IPv4. Por último, verifica a ruta de solicitude resultante de forma independente. Recoñecer correctamente a subrede da oficina e chegar ao proxy previsto son dous resultados distintos.