seiti.eti.br : ConfigurandoApacheProxy

RSS

Configurando um Proxy utilizando o Apache


Apache Logo - featherMuitas 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]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.3
Page was generated in 0.1915 seconds