Mod_cluster does not follow manual ProxyPass strictly
Issue
- Mod_cluster does not follow manual ProxyPass strictly if using as follows with
CreateBalancerset to 1 from single virtual host. For example.
NameVirtualHost *:8000
Listen 8000
<VirtualHost *:8000>
ProxyPass /A/app1 balancer://lb1/A/app1 stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse /A/app1 balancer://lb1/A/app1
ProxyPass /A/app2 balancer://lb2/A/app2 stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse /A/app2 balancer://lb2/A/app2
</VirtualHost>
- It is observed that modcluster does not honor this manual proxy pass. If all workers in lb1 are down, requests like
http://localhost:8000/A/app1are still going to JBoss node fromlb2balancer and giving HTTP 404 error. I expect in an event all workers inlb1are down then request likehttp://localhost:8000/A/app1should give HTTP 503 error. - We have two balancers serving the same application contexts. We are using the ProxyPass directive to forward requests based on URIs to each of the balancers.
- However it is observed that when all members of a balancer are offline, then apache tries to route the request to the second balancer serving the same context root. This is happening despite the URI definition in the ProxyPass directive.
- Would this be a known issue or bug or the default apache proxy pass behaviour, as I could not find any documentation to indicate what happens when none of the proxypass patterns match.
- modcluster proxy routing error
- Routing requests to correct nodes with mod_cluster.
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 6.x
- 7.x
- Red Hat JBoss Enterprise Web Server (EWS)
- Red Hat JBoss Core Services (JBCS)
- Apache httpd
- mod_cluster
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.