ProxyPass ModProxy – Apache
21 05 2008O ProxyPass, no apache é usado para quando se tem um site hospedado em um servidor web, por ex. dominio.com. E precisa-se fazer com que uma determinada página desse site, ao invés de ser buscada no webserver que armazena o site principal, seja repassada para um outro servidor da rede interna.
Ex. Ao acessar http://dominio.com/site2 ao invés de ser visualizado onde está o site http://dominio.com/ seja feito um proxy desse endereço para outra máquina.
No caso pode ser feito isso criando um vhost. No apache os arquivos de vhost por padrão ficam no diretório /etc/apache2/vhosts.d/ e precisam ficar com uma extensão .conf no arquivo para funcionar.
Segue exemplo de um arquivo de configuração vhost que faz proxypass
<VirtualHost *:80>
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
##SITE1
ProxyPass /site1 http://192.168.1.1/site1
ProxyPassReverse /site1 http://192.168.1.1/site1
## SITE2
ProxyPass /site2 http://192.168.1.2/site2
ProxyPassReverse /site2 http://192.168.1.2/site2
</VirtualHost>
Nesse caso acima ao acessar o dominio/site1 será direcionado para a máquina na rede 192.168.1.1 e dominio/site2 será direcionado para 192.168.1.2.
Isso vale até mesmo para webservers de plataforma diferente. Por ex. tanto no servidor 192.168.1.1, quanto 192.168.1.2, poderia estar rodando IIS da microsoft, que iria funcionar.
Detalhe: para funcionar o proxy pass tem que estar habilitados os seguintes modules no parametro APACHE_MODULES: (normalmente no arquivo /etc/sysconfig/apache2)
proxy mod_proxy_http mod_proxy_connect
Outro detalhe: Numa experiência que eu tive, precisava fazer o proxypass para uma estação da rede interna que rodava um sistema de câmeras. Foi feito, funcionou corretamente, mas ao acessar a página era necessário instalar um componente activex. Não consegui fazer funcionar a instalação do componente, provavelmente porque para instalar o mesmo os dados não trafegam pela porta 80, e o proxypass só faz o repasse desse tipo de tráfego. Não sei se é possível contornar isso, mas fica anotado esse detalhe.
Segue links de documentação do apache a respeito:
http://httpd.apache.org/docs/1.3/mod/mod_proxy.html
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html



















Comentários