Um script PAC recebe o nome do host da URL. dashboard não se torna automaticamente dashboard.example.internal antes da correspondência:

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

Use um endpoint HTTP real no lugar do endereço de documentação; a lista de proxies HTTP fornece candidatos para testes de destino público onde essa rota é permitida. Neste script, o nome curto retorna deliberadamente DIRECT; o nome totalmente qualificado chega ao ramo do proxy. “Nome de host simples” significa uma grafia sem ponto, não a conclusão de que o host está em uma rede local confiável.

Se a política desejada for um domínio interno, corresponda a esse domínio em vez de cada nome curto. dnsDomainIs e shExpMatch têm entradas e semântica de padrão diferentes. Uma verificação de sufixo para .example.internal não inclui a raiz exata example.internal; inclua esse caso explicitamente quando for a intenção. Um padrão no estilo shell não é uma sub-rede IP nem uma expressão regular.

Compare o resultado do script para o nome curto, o nome totalmente qualificado, um host público não relacionado e qualquer raiz de domínio pretendida. Isso testa a seleção de regras sem conectar ao proxy. Inspecione a primeira regra que retorna quando um ramo DIRECT amplo impede que um endpoint de outra forma alcançável seja tentado.

Use comparação de nomes quando ela expressa a política; auxiliares DNS adicionam suas próprias consultas e atraso. Mantenha o bypass local implícito do navegador separado do script também. Uma verificação de localhost não substitui a grafia real do destino público ou interno.

Artigos relacionados