Dont Panic


Node.JS & express as a replacement for Apache httpserver

31 Aug 2012
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.