If you are installing on an Ubuntu/Kubuntu server...
the proxy modules are already installed when you install apache2, well they were on each installation i did.
the following information is how I got apache2 reverse proxy working on Kubuntu Dapper 6.06
After you have installed apache2 through standard apt-get repositories...
cd /etc/apache2/sites-available
Now, you can either create a new file for each site that you want, or you can add the configuration to the default file. For mine, i just added the configuration into the default file as follows...
sudo nano default
Just under the NameVirtualHost * line, add the following for each internal server that you want to reverse proxy to...
<VirtualHost *>
ServerName
www.externalsite1.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /
http://internalsite1.local/
ProxyPassReverse /
http://internalsite1.local/
</VirtualHost>
Repeat the above code for each site that is being reverse proxied to, ie, if you have 2 internal web sites which are publically available through an external IP, the ServerName will be the external URL, such as
www.ABC.com, and the internal servers will be
www.internalabc.com - or whatever you use for your internal web servers.
Next, Enable the html proxy mod...
sudo a2enmod proxy
Then you have to restart apache...
sudo /etc/init.d/apache2 force-reload
Thats it. A gotcha to be careful of, if you are using DNS names such as URLs, then each machine resolving
www.abc.com must resolve to the same IP address. If the calling machine resolves
www.abc.com to 192.168.10.1, and the apache reverse proxy resolves
www.abc.com to 222.123.54.123,, then the proxy will not work. they must all resolve to the same IP Address. (this is usually only a problem if you are editing host files to test machines before making changes). Just something to watch out for.
Hope this helps.
Cheers
Rod.