Un script PAC recibe el nombre de host de la URL. dashboard no se convierte automáticamente en dashboard.example.internal antes de la comparación:

function FindProxyForURL(url, host) {
  if (isPlainHostName(host)) {
    return "DIRECT";
  }
  return "PROXY 203.0.113.10:8080";
}

Use un endpoint HTTP real en lugar de la dirección de documentación; la lista de proxies HTTP ofrece candidatos para pruebas con destinos públicos donde esa ruta esté permitida. En este script, el nombre corto devuelve deliberadamente DIRECT; el nombre totalmente cualificado llega a la rama del proxy. «Plain hostname» significa una grafía sin puntos, no la conclusión de que el host esté en una red local de confianza.

Si la política deseada es un solo dominio interno, haga coincidir ese dominio en lugar de todos los nombres cortos. dnsDomainIs y shExpMatch tienen entradas y semánticas de patrón distintas. Una comprobación de sufijo para .example.internal no incluye la raíz exacta example.internal; incluya ese caso explícitamente cuando corresponda. Un patrón de estilo shell no es una subred IP ni una expresión regular.

Compare el resultado del script para el nombre corto, el nombre totalmente cualificado, un host público no relacionado y cualquier raíz de dominio prevista. Esto prueba la selección de reglas sin conectarse al proxy. Revise la primera regla que devuelve cuando una rama DIRECT amplia impide probar un endpoint que de otro modo sería accesible.

Use una comparación de nombres cuando exprese la política; los ayudantes DNS añaden sus propias consultas y demora. Mantenga también la omisión local implícita del navegador separada del script. Una comprobación de localhost no sustituye la grafía real del destino público o interno.

Artículos relacionados