forked from http-party/node-http-proxy
-
Notifications
You must be signed in to change notification settings - Fork 0
Routing proxy with access logging
c-ab edited this page Dec 30, 2012
·
2 revisions
One of the useful methods of running http-proxy is as a routing proxy. The following configuration will configure http-proxy as a routing proxy with an access logger. In the example, http-proxy routes to 2 node applications, listening on port 3010 and 3020 respectively:
var httpProxy = require('http-proxy');
var options = { router: {
'/page1$' : localhost:3010,
'/page2$' : localhost:3020,
// default route
'.*' : localhost:3020
}}
var router = new httpProxy.RoutingProxy(options);
var proxy = httpProxy.createServer(function(req,res) {
console.log("request: " + req.path + "; method: " + req.method);
router.proxyRequest(req,res);
});
proxy.listen(3000, function() { console.log("Routing proxy listening on " + proxy.address().port); });
the above example uses console.log, but you could use any logging library, e.g. winston, to create access logs with info from req and res.