Apache 2.4 : Configuração do Proxy Balancer

Neste post será apresentado como configurar o Proxy Balancer, onde criamos um Proxy de balanceamento com o Apache.

1)Ambiente :

192.168.1.100 – Apache
192.168.1.201 – App1
192.168.1.202 – App2

2) Instalação do Apache :

yum install httpd

Caso seja uma versão do Apache tenha certeza que foi compilado com a opção “–enable-proxy-balancer”

Segue abaixo de um link de tutorial como configurar o Apache compilado .

http://fajlinux.com.br/linux/compilando-e-configurando-o-apache-2-4/

3) Habilite os módulos do Apache :

Verifique se no httpd.conf está habilitado os seguintes módulos :

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

4) Configuração do VHOST :

Configuração de um simples balancer :

 <VirtualHost *:80>
        ServerName www.yourcompany.com
	ServerAlias yourcompany.com

        DocumentRoot /Library/WebServer/Documents

        ProxyRequests Off

        <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>

<Proxy balancer://clusterApp>
	BalancerMember http://app1
	BalancerMember http://app2
	Order allow,deny
	Allow from all
	</Proxy>
	ProxyPass / balancer://clusterApp/

</VirtualHost>

Caso seja uma aplicação JAVA que precise tratar sessões , podemos usar o seguinte exemplo :

 ProxyPass /balancer-manager !
        ProxyPass / balancer://clusterApp/ stickysession=JSESSIONID nofailover=On
        ProxyPassReverse / ajp://app1:8009
        ProxyPassReverse / ajp://app2:8009
        <Proxy balancer://mycluster>
         BalancerMember ajp://app1:8009 route=public1
         BalancerMember ajp://app2:8009 route=public2
         ProxySet lbmethod=byrequests
        </Proxy>

Se precisar tirar dúvidas sobre qual lbmethod usar, o link abaixo explica bem como definir caso precise :

http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html