Por que o Firefox ainda encaminha um host de intranet na sua sub-rede de exceção pelo proxy
Um intervalo de exceção para endereços IP literais não isenta necessariamente um nome de host que resolve para esse intervalo.
Você colocou 192.168.0.0/16 na lista «Sem proxy para» do Firefox. Abrir http://192.168.1.20/ vai direto, mas http://wiki.office.example/ ainda chega ao proxy. Os dois URLs podem se referir ao mesmo servidor.
A diferença importante é a string de destino com a qual o Firefox compara. Uma exceção de intervalo de IP e uma exceção de nome de host não são intercambiáveis. Não presuma que a lista de exceção manual resolve todos os nomes de host antes de decidir se uma regra de intervalo de endereços se aplica.
| URL introduzido | Informações disponíveis para a comparação |
|---|---|
| http://192.168.1.20/ | Um endereço IP literal |
| http://wiki.office.example/ | Um nome de host |
Se a intranet tiver um domínio próprio, use as exceções de nome de host ou de domínio adequadas em vez de adivinhar os endereços para os quais os nomes podem resolver. Mantenha os serviços públicos não relacionados fora dessa exceção. Um domínio pode conter aplicações internas e aplicações hospedadas externamente.
A explicação original da Mozilla distingue explicitamente a comparação de IP literal dos nomes que resolvem para esses IPs. Esse documento é histórico, portanto verifique o comportamento do cliente atual e a interface de políticas antes de copiar cada exemplo de sintaxe dele.
Quando a política precisa de DNS
Um arquivo PAC oferece um local separado e explícito para decisões que levam o DNS em conta. Ele também introduz modos de falha na distribuição, execução e resolução do script. Use-o porque o requisito de roteamento precisa dessa lógica, não apenas para fazer uma longa lista de exceção parecer mais curta.
Numa instalação gerenciada, inspecione também a política efetiva do Firefox. Uma política de proxy bloqueada pode explicar por que uma edição local não determina a rota.
Para solução de problemas, registre o URL literal que você digitou, não apenas o IP final do servidor. Comparar um URL com nome de host com um URL de endereço literal muda as informações disponíveis para a decisão de exceção, e é exatamente por isso que as duas requisições podem seguir caminhos diferentes.