配置Apache负载均衡器

时间:2013-08-26 00:56:15

标签: apache load seam load-balancing

我将以下代码添加到我的httpd.conf中以在两个应用程序服务器之间进行负载平衡

<VirtualHost www.mydomainx.com:80>
    ProxyRequests off
    ProxyPreserveHost Off
    ServerName www.mydomainx.com
ServerAlias mydomainx.com

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

ProxyPass /test balancer://mycluster stickysession=JSESSIONID|jsessionid
    <Proxy balancer://mycluster>
            # WebHead1
            BalancerMember http://www1.mydomainx.com
            # WebHead2
            BalancerMember http://www2.mydomainx.com
            Order Deny,Allow
            Deny from none
            Allow from all
            ProxySet lbmethod=byrequests
    </Proxy>
    <Location /balancer-manager>
            SetHandler balancer-manager

            # I recommend locking this one down to your
            # your office
            Order deny,allow
            Allow from all
    </Location>
    ProxyPass /balancer-manager !
    ProxyPass / balancer://mycluster/

 </VirtualHost>

每当我输入网址浏览器www.mydomainx.com的URL时,它会加载主页,如果我输入用户名和密码并单击“提交”,则会重新加载(http://www1.mydomainx.com / {{ 3}})再次重新加载主页并强制我重新输入用户名和密码,有没有办法阻止这一切?

1 个答案:

答案 0 :(得分:0)

请务必遵循stickyness部分中的建议:

  

ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid scolonpathdelim=On

(不仅适用于/test目录)

此外,对于JBoss应用程序服务器,您需要在Apache配置中提供route=web1 / route=web2等,并在jvmRoute="web1"的JBoss配置中提供<Engine name="jboss.web"...。 element(位置取决于您使用的JBoss版本,对于v4.2,它是server/default/deploy/jboss-web.deployer/server.xml

另见this tutorial