Unha regra PAC para nomes curtos pode sortear o teu proxy
Entende por que un nome de host sen punto e a súa forma totalmente cualificada poden escoller rutas distintas no mesmo script PAC.
Un script PAC recibe o nome de host da URL. dashboard non se converte automaticamente en dashboard.example.internal antes de comparar:
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}Usa un punto final HTTP real no canto do enderezo de documentación; a lista de proxies HTTP ofrece candidatos para probas cara a un destino público onde esa ruta estea permitida. Neste script, o nome curto devolve deliberadamente DIRECT; o nome totalmente cualificado chega á rama do proxy. «Plain hostname» significa unha grafía sen punto, non a conclusión de que o host estea nunha rede local de confianza.
Se a política desexada é un único dominio interno, compara con ese dominio en vez de con todos os nomes curtos. dnsDomainIs e shExpMatch teñen entradas e semántica de patrón diferentes. Unha comprobación de sufixo para .example.internal non inclúe a raíz exacta example.internal; inclúe ese caso explicitamente cando así o queiras. Un patrón de estilo shell non é unha subrede IP nin unha expresión regular.
Compara o resultado do script para o nome curto, o nome totalmente cualificado, un host público non relacionado e calquera raíz de dominio pretendida. Isto proba a selección de regras sen conectar co proxy. Inspecciona a primeira regra que devolve cando unha rama DIRECT ampla impide probar un punto final que doutro xeito sería accesible.
Usa unha comparación de nomes cando exprese a política; os axudantes DNS engaden as súas propias consultas e atrasos. Mantén tamén o bypass local implícito do navegador separado do script. Unha comprobación de localhost non pode substituír a grafía real do destino público ou interno.