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.

[ Hits: 36.892 ]

Por: Wellington Oliveira de Andrade em 08/03/2012


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";

- 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.
    Próxima página

Páginas do artigo
   1. Criando os Arquivos
   2. Configurações
Outros artigos deste autor

Samba3 + LDAP no ArchLinux

Leitura recomendada

Squid + Bridge + TProxy no CentOS 5.4

Compilando o Squid com autenticação PAM

Autenticando usuários do Squid em um banco de dados MySQL

Controlando acesso às páginas do Apache na rede interna

Squid autenticando no Windows utilizando grupos do AD

  
Comentários
[1] Comentário enviado por viniciusraupp em 16/05/2012 - 13:03h

Apenas pra compartilhar a minha situação, fiz as configurações básicas pra funcionar o wpad, IE funcionava e Firefox não, então em uma pesquisa encontrei o problema no firefox que pode ser corrigido conforme o link abaixo:

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.

[2] Comentário enviado por Marcus-RJ em 13/06/2012 - 12:58h

Genial sua solução, não encontrei em local nenhum! Única maneira de especificar o proxy por redes no firefox.

[3] Comentário enviado por doomk em 24/09/2012 - 11:19h

Simplesmente MARAVIWONDERFUL.... funcionou aqui sem problemas.

[4] Comentário enviado por rengaf1 em 18/12/2014 - 10:41h

comigo so funcionou depois que alterei no dns da seguinte forma:

; Proxy auto configuration
wpad CNAME server


Contribuir com comentário