Node.JS & express as a replacement for Apache httpserver

In my ongoing learning with Node.js i find at each turn im more and more surprised at just how much it can do for me. Recently this surprise took the form of a problem ive been having froa while now with configuring Apache for proxy and reverse proxy to multiple web apps on my local server.

Here’s the run down of the situation:

i have 4 main web-app’s running on my server for various reasons and on various ports

  • Transmission on port 9091
  • SickBeard on port 8081
  • CouchPotato on port 5000
  • sabznbd+ on port 8085
  • XBMC on port 8080
  • Ajenti on port 8000

Currently i can reach each service in turn by sticking in the port as part of the URL http://server:5000/ gets me CouchPotato for example, but this isnt the nicest of URL’s to remember so what i really want is http://server/couchpotato instead. So some quick googling later and i find out that i can configure my allready installed and running Apache httpserver to do this with proxies and reverse proxies, excilent, and it all looks relatively simple to modify a few htaccess and other such setup files.

NO SUCH LUCK i consider myself a reasonable software developer and a fairly advanced computer user, so modifying a couple of files and reading a few API docs are not beyond me, but for love nor money i cannot get this stuff to work.

Skip ahead 6 months of nasty urls

I wonder if Node can do this sor of thing, quick google later and i find node-http-proxy and a 3 minute express config file later and ive got my proxies working like a dream.

With this experience and others ive decided to uninstall Apache completely and reply on Node.JS as my sole web server for just now. Hopefully this will simplify my life dramatically.

Advertisements