Wednesday, 28 August 2013

Apache Load Balancing Proxy bypass not working

Apache Load Balancing Proxy bypass not working

I have been using apache as a reverse proxy to a puma application server
(RoR). The assets are all in a subdirectory called assets, and I added a
line to the apache configuration like this:
<Location /assets>
ProxyPass !
</Location>
This worked fine, the static stuff was served by apache, everything else
was proxied to puma. However I want to implement load balancing, so I
added the following lines to the config:
<Proxy balancer://mycluster>
BalancerMember http://localhost:9292
BalancerMember http://192.168.1.2:9292
</Proxy>
and set the proxy pass and proxy pass reverse directives to this
ProxyPass / balancer://mycluster lbmethod=byrequests
ProxyPassReverse / balancer://mycluster
Now the assets directory does not work, I get a 500 error when the browser
tries to get any of the files in the directory. In the server error log,
the following line pops up:
[Wed Aug 28 15:31:52 2013] [warn] proxy: No protocol handler was valid for
the URL /assets/application-c713b532d29cd16b1e8d99df39489e72.css. If you
are using a DSO version of mod_proxy, make sure the proxy submodules are
included in the configuration using LoadModule.
Can anyone suggest why my configuration no longer works? Full config is here
-- EDIT --
Actually the only path that works is the root path, none of the other
requests that would previously have been proxied to the puma server work
either.

No comments:

Post a Comment