Você tem vários servidores proxy em sua organização e esse arquivo .pac deve ser específico do servidor com o endereço 10.1.1.116? Se não, você provavelmente pode simplesmente se livrar desse cheque. Como FindProxyForURL()
é chamado para cada solicitação, seu navegador precisa fazer com que dnsResolve()
possa bloquear seu navegador por um bom tempo, dependendo de quão bem o DNS funciona.
Se você precisar da chamada dnsResolve()
, uma maneira de contornar isso é movê-la para fora de FindProxyForURL()
:
var myProxyServerIP = dnsResolve("ProxyServer");
function FindProxyForURL(url, host) {
if (myProxyServerIP == "10.1.1.116")
if (dnsDomainLevels(host) == 0 ||
isInNet(host, "10.0.0.0","255.0.0.0") ||
isInNet(host, "125.0.0.0","255.0.0.0") ||
isInNet(host, "127.0.0.0","255.0.0.0") ||
isInNet(host, "204.223.70.250","255.255.255.255") ||
dnsDomainIs(host, ".muj.com") ||
dnsDomainIs(host, "sv.com.gt") ||
dnsDomainIs(host, "com.es.gt"))
return "DIRECT";
else return "PROXY 10.1.1.116:8080";
else return "DIRECT";
}
Essa alteração fará com que dnsResolve()
seja chamado apenas quando o arquivo .pac for carregado, em vez de sempre que uma solicitação for feita ao navegador. Você precisará determinar por si mesmo se isso é algo que você pode fazer em seu ambiente com base na freqüência com que esse endereço seria alterado. Mas, novamente, o endereço do seu servidor proxy deve ser estático.
As sub-redes que você está verificando com isInNet()
chama um mapa de um para um dos domínios que você está verificando com as dnsDomainIs()
chamadas? Se sim, então você tem redundância e pode remover um conjunto de chamadas.
Além disso, não vejo mais nada para recomendar com base no que posso discernir sobre seu ambiente a partir de sua pergunta.