You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Stephen Powis <st...@pardot.com> on 2011/09/08 04:45:40 UTC

[users@httpd] Having issue with mod_proxy / balancer-manager not showing all of my balancer groups

I've been pulling out my hair for the past two evenings trying to figure out
why one of my defined balancer groups is not showing up in under the
balancer-manager status page.  I'm doing a reverse proxy where various
requested URLs are passed to different groups of webservers behind my proxy
box.  It appears as tho everything is working as expected, requests to the
various urls get passed to the correct servers located in the correct
balancer groups.  However, using the configuration attached below, when I
visit /lb-manager the "analyticscluster" and its members are not displayed
at all anywhere.  The other 4 balancer groups I have show up just fine.  I'm
going to guess that I've got a configuration issue somewhere, and I was
hoping someone could lend me a hand.  Attached below is (what I think) is
the relevant portion of my config file.

Thanks so much!
Stephen

NameVirtualHost public_ip_address_here:80

## Add Response header
Header add X-COMPANYNAME-LB "myhostnamehere"

ProxyRequests off

#The virtual host IP address should be the same as the NameVirtualHost above
<VirtualHost public_ip_address_here_that_matches_the_above_line:80>
        AllowEncodedSlashes On

        ServerName *

        # Dont pass requests to /errors
        ProxyPass /errors/ !
        ProxyPassReverse /errors/ !

        # Dont pass requests to /lb-manager
        ProxyPass /lb-manager/ !
        ProxyPassReverse /lb-manager/ !

        # Dont pass requests to /cgi-bin
        ProxyPass /cgi-bin/ !
        ProxyPassReverse /cgi-bin/ !

        ## Define Urls that get passed to the Analytics cluster
        # analytics
        ProxyPass /analytics balancer://analyticscluster/analytics
        ProxyPassReverse /analytics balancer://analyticscluster/analytics

        ## Define Urls that get passed to the Public cluster
        ProxyPass /i balancer://publiccluster/i
        ProxyPassReverse /i balancer://publiccluster/i

        ProxyPass /l balancer://publiccluster/l
        ProxyPassReverse /l balancer://publiccluster/l

        ProxyPass /emailPreference  balancer://publiccluster/emailPreference
        ProxyPassReverse /emailPreference
balancer://publiccluster/emailPreference

        ProxyPass /webmail  balancer://publiccluster/webmail
        ProxyPassReverse /webmail  balancer://publiccluster/webmail

        ProxyPass /e  balancer://publiccluster/e
        ProxyPassReverse /e  balancer://publiccluster/e

        ProxyPass /r  balancer://publiccluster/r
        ProxyPassReverse /r  balancer://publiccluster/r

        ProxyPass /s  balancer://publiccluster/s
        ProxyPassReverse /s  balancer://publiccluster/s

        ProxyPass /rss  balancer://publiccluster/rss
        ProxyPassReverse /rss  balancer://publiccluster/rss

        ## Define Urls that get passed to the Api cluster
        ProxyPass /api balancer://apicluster/api timeout=240
        ProxyPassReverse /api balancer://apicluster/api

        ## Define Urls that get passed to the Engineer cluster
        ProxyPass /replication balancer://engineercluster/replication
        ProxyPassReverse /replication balancer://engineercluster/replication

        ## Define Urls that get passed to the App Server cluster
        # Catch all, anything not yet defined gets caught here
        ProxyPass / balancer://appcluster/
        ProxyPassReverse / balancer://appcluster/

        ## Define App cluster members
        <Proxy balancer://appcluster>
            Include conf.d/app_servers.list
        </Proxy>

         ## Define public cluster members
        <Proxy balancer://publiccluster>
                Include conf.d/public_servers.list
        </Proxy>

        # Define Api cluster members
        <Proxy balancer://apicluster>
            Include conf.d/api_servers.list
        </Proxy>

        # Define Engineer cluster members
        <Proxy balancer://engineercluster>
            Include conf.d/engineer_servers.list
        </Proxy>

        # Define Analytics cluster members
        <Proxy balancer://analyticscluster>
            Include conf.d/analytics_servers.list
        </Proxy>

        ProxyPreserveHost on

        # Add handler for lb-manager url
        <Location /lb-manager>
          SetHandler balancer-manager

          Order deny,allow
          Deny from all
          Allow from my.ip.address.here
        </Location>

</VirtualHost>


Then in analytics_servers.list:
# analytics1
BalancerMember http://10.x.x.w
# analytics2
BalancerMember http://10.x.x.x
# analytics3
BalancerMember http://10.x.x.y
# analytics4
BalancerMember http://10.x.x.z


app_servers.list:
# app1
BalancerMember http://10.x.x.y
# app2
BalancerMember http://10.x.x.z

and so on for the remaining xxxx_servers.list files.