Configurando um Proxy utilizando o Apache

Muitas vezes é preciso integrar diferentes servidores de páginas em um mesmo domínio. Isto é possível utilizando o Apache com os módulos
proxy e
proxy_html.
Imagine que você tenha um servidor de páginas, o
ApacheTomcat por exemplo, funcionando no endereço
http://www.example.com:8080 servindo aplicações Java e outro servidor de páginas, como o Apache, servindo aplicações PHP no endereço
http://www.example.com.
Como servir as páginas de ambas aplicações sob um mesmo domínio? É só configurar o Apache como
proxy para as aplicações desejadas.
Lembre-se
Certifique-se de que os módulos referentes ao
proxy estejam habilitados. Para habilitar cada módulo utilize o comando
a2enmod, por exemplo, após instalar o pacote supracitado, execute o seguinte comando para habilitar o módulo
proxy_html:
sudo a2enmod proxy_html
Podemos configurar rapidamente um proxy editando o arquivo
/etc/apache2/sites-available/default, inserindo o seguinte trecho logo antes da tag de fechamento </
VirtualHost>:
ProxyPass /java/ http://www.example.com:8080/
ProxyPassReverse /java/ http://www.example.com:8080/
Reinicie o Apache:
sudo /etc/init.d/apache2 restart
O endereço
http://www.example.com/java agora aponta para o conteúdo servido sob o endereço
http://www.example.com:8080. Temos então:
Note que os endereços das aplicações poderiam diferir não apenas na porta utilizada, mas no próprio nome do domínio.
Módulo proxy_html
Resta resolver um
problema. E os links que se encontram nas páginas da aplicação Java? Podem existir links absolutos contidos nas páginas, apontando diretamente para
http://www.example.com:8080. Para resolver isto vamos finalmente utilizar o módulo
proxy_html.
É preciso instalar o pacote
libapache2-mod-proxy-html:
sudo apt-get install libapache2-mod-proxy-html
Ainda no arquivo de configuração do Apache
default, insira o seguinte trecho logo após as diretivas ProxyPass e ProxyPassReverse:
SetOutputFilter proxy-html
ProxyHTMLURLMap http://www.example.com:8080 /java/
Isto efetuará uma análise sintática (
parsing) do texto servido e substituirá os endereços
http://www.example.com:8080 por endereços do tipo /java/.
Proibido
Caso esteja recebendo uma página código http 403:
Forbidden, é preciso configurar o módulo
proxy para liberar o acesso. Abra o arquivo
/etc/apache2/mods-enabled/proxy.conf (caso não encontre o arquivo, é porque o módulo não está habilitado, habilite-o!) e troque a linha dizendo
Deny from all para algo como:
#Deny from all
Allow from 192.168.0
Isto permitirá o acesso de todos os computadores na rede com IP
192.168.0.*. Reinicie o apache.
Referências:
CategoriaLinux CategoriaBlog
There are no comments on this page. [Add comment]