tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thiago Locatelli da Silva <thiago.si...@digitro.com.br>
Subject Re: Tomcat load balancing question x problem
Date Fri, 27 Aug 2010 14:00:39 GMT
My apache version is 2.2.3 as follow.

[root@servera ~]$ httpd -version
Server version: Apache/2.2.3
Server built:   Nov 10 2007 12:44:08

I will take a look at your suggestions and give a try. I will be further 
posting my finding on this thread.

Thanks a lot Rainer

T

Rainer Jung escreveu:
> On 27.08.2010 14:17, Thiago Locatelli da Silva wrote:
>> Hello list! :)
>>
>> Here at work I was asked to give a try on load balancing two tomcat
>> servers running tomcat 6.0.29. The problem is that I was given only two
>> servers to do this, what gave me only one option: run the apache in one
>> of these servers. So I decided to put the apache httpd server which is
>> going to balance the load among the two tomcat server in the Server A
>> (suppousing I have server A and B running linux). My application which
>> needs to be balanced has "/agent" context.
>>
>> Everytime I access the URL http://servera/agent my request is redirect
>> either to http://servera:8080/agent or http://serverb:8080/agent. To my
>> understanding, with load balancing, my url would remain
>> http://servera/agent and the redirect would take place behing the scene
>> and I would never see any redirect to tomcat connector port (8080). By
>> the way, i am running the load balancing with mod_proxy in the apache
>> server and my configuration is as follow:
>>
>> =============================================================
>>
>> ProxyPass /balancer-manager !
>> ProxyPass /status !
>> ProxyStatus On
>> ProxyRequests Off
>>
>> <Location /balancer-manager>
>> SetHandler balancer-manager
>> Order Deny,Allow
>> Deny from all
>> Allow from localhost </Location>
>>
>> <Location /status>
>> SetHandler server-status
>> Order Deny,Allow
>> Deny from all
>> Allow from all
>> </Location>
>>
>> <Proxy *>
>> Order deny,allow
>> Allow from all
>> </Proxy>
>>
>> <Proxy balancer://cluster>
>> BalancerMember http://servera:8080/agent/ route=worker0 keepalive=On
>> loadfactor=1
>> BalancerMember http://serverb:8080/agent/ route=worker1 keepalive=On
>> loadfactor=1
>> ProxySet lbmethod=byrequests maxattempts=3
>> stickysession=JSESSIONID|jsessionid
>> </Proxy>
>>
>> <Location /agent>
>> ProxyPass balancer://cluster/ stickysession=JSESSIONID
>> ProxyPassReverse balancer://cluster/
>> </Location>
>>
>> =============================================================
>>
>> Not happy with this scenario, i decided to install the apache httpd
>> server in my laptop and made it as my load balancer instead of using
>> servera to load balance. For my surprise, it worked out of the box with
>> no extra configuration other than the one set up in my servera. I see no
>> redirects to 8080 tomcat's port, due to my overall tests i could see
>> only my desired url: http//localhost/agent (since i was running my tests
>> with apache installed locally).
>>
>> So my question is: does it make sense to have the load balancer in the
>> same server as one of the balanced server/application? Does mod_proxy
>> support this?
>>
>> Many thanks for all the attention
>
> The wrong redirect URLs should have been rewritten by 
> ProxyPassReverse. Note that using the balancer URL in ProxyPassReverse 
> only works starting with Apache 2.2.12. Before you had to give one 
> ProxyPassReverse statement for each backend URL configured as part of 
> the balancer, e.g.
>
> ProxyPassReverse /agent http://servera:8080/agent
> ProxyPassReverse /agent http://serverb:8080/agent
>
> It is simply a rule to rewrite the Location header contained in any 
> 30x response, i.e. replacing the string to the right with the string 
> to the left (if it prefixes the Location URL).
>
> I suggest you
>
> - make sure you have a recent Apache (2.2.16 is the latest 2.2.x)
>
> - inspect the exact redirect response using a browser plugin or 
> network sniffing, especially check the contents of the Location header
>
> - try using the split ProxyPassReverse pr backend configuration
>
> Regards,
>
> Rainer
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message