indexzero
3/14/2011 - 8:15 PM

A simple example of how to do round-robin proxying for a single domain

A simple example of how to do round-robin proxying for a single domain

var httpProxy = require('http-proxy');

//
// Addresses to use in the round robin proxy
//
var addresses = [
  {
    host: 'ws1.0.0.0',
    port: 80
  },
  {
    host: 'ws2.0.0.0',
    port: 80
  }
];

httpProxy.createServer(function (req, res, proxy) {
  //
  // Get the first location off of the 'queue'.
  //
  var target = addresses.shift();

  //
  // Proxy to the specified location
  //
  // Remark: You may want to do host header checking here
  // by looking at req.headers.host.
  //
  proxy.proxyRequest(req, res, target);

  //
  // Push the location to the end of the 'queue'.
  //
  addresses.push(target);
});