Apache port forward

Jaseem picture Jaseem · Feb 7, 2012 · Viewed 29.4k times · Source

I have apache couchDB active on http://localhost:5984/ which i need to access at http://localhost:80/couch/. I need to setup a reverse proxi for this. Need help with the configuration settings.

PS: Whats the best resource to learn about apache?

Answer

Nicolas BRERO picture Nicolas BRERO · Feb 16, 2012

Setting up the proxy

To set up a reverse-proxy with Apache2, you first need to enable the Apache proxy module and virtualhosts. To enable the proxy module (mod_proxy), edit the Apache configuration file (Apache/conf/httpd.conf) and uncomment the following lines:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule unique_id_module modules/mod_unique_id.so

You then need to enable VirtualHosts. To do this, just uncomment the following line from the same configuration file:

Include conf/extra/httpd-vhosts.conf

Finally, you need to edit Apache/conf/extra/httpd-vhosts.conf and write in it the proxy directives. From the information you gave, they should look like this:

<VirtualHost *:80>
  ServerAdmin ******
  DocumentRoot "******"
  ServerName *****

  ProxyRequests Off
  ProxyVia Off

  ProxyPass /couch/ http://127.0.0.1:5984/
  ProxyPassReverse /couch/ http://127.0.0.1:5984/
</VirtualHost>

(+ some mLog directives and a few others).

-> Apache restart -> profit.

Learning Apache

You should have a look at the official documentation on the Apache official website or Apachetutor.org, though Google is, and always will be, everyone's friend.