
Antes de mais nada, qual a utilidade do modulo mod_proxy no Apache ?
Bom, no meu caso resolveu o seguinte problema:
http://www.exemplo.com,
Com arquivos em Servidor 1 (192.168.3.10)http://adm.exemplo.com,
Com arquivos em Servidor 2 (192.168.3.11)http://rh.exemplo.com,
Com arquivos em Servidor 3 (192.168.3.12)
Sendo o Servidor 1 o “cara” habilitado com o link da embratel de porte do Apache 2.
Tudo planejado …
Mais como um unico servidor iria gerenciar seu proprio dominio e outros dois (subdominios) sendo que os mesmos com os arquivos referenciados na rede cada um com seu determinado IP.
Sim eu tentei mapear as unidades, ideia infeliz …
Agora vamos ao que interessa, lendo alguns artigos publicados pelos colaboradores do Apache, verifiquei algo interessante no mod_proxy, que faria justamente o que eu precisava:
Mod_proxy: Redirecionar as requisicoes de certas URL’s para outros servidores web.
Vamos fazer funcionar, no httpd.conf insira:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
Verifique os caminhos corretamente.
Em seguida vamos a configuracao dos vhosts (virtual host).
NameVirtualHost *
<VirtualHost *>
ServerName adm.exemplo.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.3.11/
ProxyPassReverse / http://192.168.3.11/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Lembrando que para varios vhosts basta repetir o codigo acima entre as tags VirtualHost alterando o subdominio e o IP da rede.
Seguindo o codigo acima, a unica coisa nova que vemos sao as tags proxy que indicam que sera liberado o acesso para todos (eh possivel restringir para acesso apenas local, interessante para alguns casos), e tambem vemos:
ProxyPass / http://192.168.3.11/
ProxyPassReverse / http://192.168.3.11/
No portugues claro, temos, Passe para 192… no caso desse VHost faca revesao para 192… a barra antes do IP indica em qual pasta sera utilizado para acessar aquele vhost.
No meu caso utilizei um servidor rodando Debian 4 etch, portanto os arquivos que utilizei para a configuracao sao um tanto quanto diferentes ao httpd.conf (que eh o utilizado na maioria dos casos). Os “LoadModules” deverao ser inseridos em proxy.conf dentro de mods-enabled e as configuracoes dos vhosts irao em default dentro de sites-enabled.
Obs: Sim, estou sem acentos.
Links: Apache, Tutorial mod_proxy