httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brad Taylor <Brad.Tay...@TELUS.COM>
Subject [users@httpd] reverse proxy mod_proxy_balancer inside vhosts - balancer-manager oddity
Date Thu, 19 Jul 2012 21:49:29 GMT
Newbie to the list, thanks for any suggestions.

I'm seeing some odd behavior when running mod_proxy_balancer and the balancer-manager handler.


I get duplicated balancer definitions in the /balancer-manager UI, with the second configuration
set having no balancer members.

I've read the doc pages, googled and searched the mail-list archives. (I do see one report
of similar behavior from  July 2011: 
http://httpd.markmail.org/message/vyw6gdldkhhkegkv?q=balancer-manager+duplicate+balancer+entry+order:date-backward)

The goal is to 
- have some common URL's directed to a single backend server for both HTTP & HTTPS vhosts
- have other common URL's directed to a balanced worker configuration for both HTTP &
HTTPS vhosts
- have a particular other common URL directed to a different balanced worker on a vhost server
with a different name

Running Apache HTTP 2.2.21 on Windows Server 2008

Have three vhosts configured with two different server names:
- app.internal.tld / HTTP / TCP port 80
- app.internal.tld / HTTPS / TCP port 443
- webservices.internal.tld / HTTP / TCP port 80

Have a bunch of simple ProxyPass statements and two balancers configured outside the vhost
config stanzas.

In both app.internal.tld vhosts have balanced configuration for /mainapp pointed to the "end-user"
balancer worker.

In the webservices.internal.tld vhost config, have the balanced configuration for /mainapp
pointed to the "web-services" balancer worker.

Simplified config is something like this:

<Proxy balancer://web_services>
  BalancerMember http://server1 route=node1 
  ProxySet ...
</Proxy>

<Proxy balancer://end_user>
  BalancerMember http://server1 route=node1
  BalancerMember http://server2 route=node2
  ProxySet ...
</Proxy>

ProxyPass /url1 http://server1/url1
ProxyPassReverse /url1 http://server1/url1 
ProxyPass /url2 http://server1/url2
ProxyPassReverse /url2 http://server1/url2
ProxyPass /url3 http://server2/url3
ProxyPassReverse /url3 http://server2/url3

NameVirtualHost 192.168.3.1:80

<VirtualHost 192.168.3.1:80>
  ServerName app.internal.tld

  ProxyPass /mainapp balancer://end_user/mainapp
  ProxyPassReverse /mainapp balancer://end_user/mainapp
</VirtualHost>


<VirtualHost 192.168.3.1:80>
  ServerName webservices.internal.tld

  ProxyPass /mainapp balancer://web_services/mainapp
  ProxyPassReverse /mainapp balancer://web_services/mainapp
</VirtualHost>


<VirtualHost 192.168.3.1:443>
  ServerName app.internal.tld

  ProxyPass /mainapp balancer://end_user/mainapp
  ProxyPassReverse /mainapp balancer://end_user/mainapp
</VirtualHost>

Everything appears to work correctly, except for balancer manager, which gets an extra entry
for the balancer://end_user, that has no child members.

So I have the following questions:
1. Is there a better way to do this?
2. Is there a bug in balancer-manager?

I've attached the following files:
a. simplified config file
b. /server-status output
c. /balancer-manager output


Thanks again for any suggestions or recommendations.

-- 
Brad Taylor
brad dot taylor at telus dot com

Mime
View raw message