Ubuntu – Simple Apache2 Reverse Proxy config not working

apache-2.2reverse-proxyUbuntu

I've installed Apache2 on 2 ubuntu 11.10 VMs and I am trying to get a very basic Reverse Proxy working.

I have nothing but the default site setup on each. I want to go to http://server.com/app and have it return http://app.internal.server.com/.

From what I have read it should all be fairly straight forward, but I have no experience with Apache so I am probably missing something!

For example, I haven't set up anything on Apache (other than the ProxyPass directives) to tell it anything about /app.

I enabled mod_proxy with apache2ctl mod_proxy and added the following to httpd.conf then restarted apache2:

ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
    Order allow,deny
    Allow from all
</Proxy>
ProxyPass /app/ http://app.internal.server.com/
ProxyPassReverse /app/ http://app.internal.server.com/

In the apache2 error.log I am seeing:

File does not exist: /var/www/app

Best Answer

You'll need to put the proxy configuration within the default <VirtualHost> block in /etc/apache2/sites-available/default.

Most of that config is inert, by the way - all you need is the ProxyPass/ProxyPassReverse and potentially the ProxyPreserveHost if the backend server needs that.