Wpad.dat com Proxy Específico por Rede
Recentemente, resolvi testar o Wpad.dat (Configuração de Proxy Automático) com dois Proxy diferentes, um
para cada rede, e me deparei com um Bug do Firefox durante a tentativa de pegar o IP do cliente. Com o
comando 'myIpAddress()', o Firefox sempre retorna: localhost (127.0.0.1). Após muita procura, consegui
resolver o problema.
para cada rede, e me deparei com um Bug do Firefox durante a tentativa de pegar o IP do cliente. Com o
comando 'myIpAddress()', o Firefox sempre retorna: localhost (127.0.0.1). Após muita procura, consegui
resolver o problema.
Criando os Arquivos
Configurando Apache
Primeiramente, vamos configurar o Apache para que ele consiga ler o arquivo “wpad.dat” como PHP.Você deve instalar o Apache com PHP (coisa que não vou abordar aqui, pois já existem outros artigos que tratam disso) em seguida, deve alterar/adicionar nas configurações conforme abaixo:
Exemplo com Virtualhost:
function FindProxyForURL(url,host)
{
myIP="";
if ( isInNet(myIP, "10.10.88.0", "255.255.255.0") ||
isInNet(myIP, "10.10.89.0", "255.255.255.0") )
return "PROXY 10.10.0.254:3128";
if (shExpMatch(url,"*localhost*"))
return "DIRECT";
else return "PROXY 10.10.0.250:3128";
}
Explicando
myIP="<?php echo $_SERVER['REMOTE_ADDR'] ?>";
- É uma função do PHP que retorna o IP do cliente que acessou o Apache. Anteriormente, eu utilizava uma função 'javascript myIpAddrees()', que funciona no Internet Explorer, mas não funciona no Chrome nem no Firefox , portanto, acho que é o 'IE' está com Bug (rsrs).
...
if ( isInNet(myIP, "10.10.88.0", "255.255.255.0") ||
isInNet(myIP, "10.10.89.0", "255.255.255.0") )
return "PROXY 10.10.0.254:3128";
if ( isInNet(myIP, "10.10.88.0", "255.255.255.0") ||
isInNet(myIP, "10.10.89.0", "255.255.255.0") )
return "PROXY 10.10.0.254:3128";
- Se o acesso vier das redes: 10.10.88, ou: 10.10.89, o navegador será configurado automaticamente com o Proxy: 10.10.0.254:3128, caso contrário, será o IP: 10.10.0.250:3128
Criando proxy.pac e testando Apache
Agora, você deve copiar o arquivo “wpad.dat” para “proxy.pac”, ou fazer um link do mesmo arquivo. Pois utilizaremos ele nas configurações do DHCP, pois o Windows utiliza o DHCP para configurar o Proxy automaticamente.Exemplo:
# cp wpad.dat proxy.pac
Para testar se o Apache está correto, você deve abrir o navegador do seu sistema e tentar acessar o arquivo:
Veja se vai fazer o download do arquivo, já teste também o “proxy.pac”.
Se não conseguir acessar o “wpad.dat”, verifique as configurações do Apache, pois isto é essencial para que a configuração automática de Proxy funcione.
http://davidtse916.wordpress.com/2008/07/05/university-of-otago-firefoxs-proxy-auto-detection-proble...
infelizmente esta configuração deve ser feita manualmente em cada navegador de minha rede, irei testar a sua solução e dou um feedback.