Por que o seu ficheiro PAC escolhe o adaptador de rede errado
Um portátil pode ter vários endereços locais. Uma regra PAC baseada em myIpAddress() pode identificar uma interface diferente da que esperava.
O portátil está no Wi-Fi do escritório, o cabo Ethernet está ligado e um adaptador VPN ainda está presente. O seu ficheiro PAC pergunta ao myIpAddress() em que rede está. Isso parece razoável até receber um endereço que pertence ao adaptador errado.
O detalhe em falta é que a função devolve um único endereço. Não é um inventário de todas as interfaces e não contacta um site para descobrir o seu IP público. Um endereço privado, ou mesmo um recurso de loopback, não lhe diz qual endereço de saída um pedido através do proxy irá usar.
Uma resposta para uma máquina com vários endereços
A seleção da interface de rede pertence à implementação do PAC. O conselho antigo de reordenar os adaptadores do Windows pode descrever uma versão específica de navegador e de sistema operativo, mas é uma má solução universal. O Chromium documenta o seu próprio algoritmo de seleção e as limitações com várias redes; outro cliente não tem de fazer a mesma escolha.
Comece por identificar o valor que o navegador afetado forneceu realmente e compare-o com as verificações de sub-rede no seu script. Faça-o separadamente em Wi-Fi, Ethernet e na ligação VPN aprovada. Um endereço que parece surpreendente ainda pode cumprir as regras da implementação.
Faça a decisão depender de menos suposições
Sempre que possível, escolha um proxy a partir do nome de anfitrião de destino em vez de uma interface de cliente presumida. Se a deteção de rede for necessária, use um sinal deliberado e documentado que a sua organização controle. A deteção baseada em DNS também tem modos de falha, por isso defina o que acontece quando esse sinal não está disponível.
Algumas implementações oferecem myIpAddressEx(). Verifique o suporte e o formato de retorno antes de o adotar; não é um substituto direto de uma única cadeia IPv4. Por fim, verifique a rota do pedido resultante de forma independente. Reconhecer corretamente a sub-rede do escritório e chegar ao proxy pretendido são dois resultados distintos.