2011-10-07 227 views
9

即时通讯使用下面的代码HTTP代理:Node-http-proxy动态路由表?

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

var options = { 
    router: { 
    'url1.com': '127.0.0.1:3000', 
    'url2.com': '127.0.0.1:3001' 
    } 
}; 

httpProxy.createServer(options).listen(80); 

我的问题是,我可以动态更新routetable?没有关闭代理服务器?

Thx for answers

回答

15

对于每个人都面临这个问题,最后我得到了解决方案。它的所有可能,如果你传递一个字符串指向一个文件,而不是传递一个对象为arg。我会举一个例子,它应该很清楚。

的proxy.js:

var httpProxy = require('http-proxy'); 
var options = { router: 'table.json' }; 

httpProxy.createServer(options).listen(80); 

如u看到这里,我通过table.json为路由器选项。所以看看那个文件。

table.json:

{ 
    "router": 
    { 
     "domain1.com": "127.0.0.1:8080", 
     "domain2.com": "127.0.0.1:8001" 
    } 
} 

并且那是全魔。 node-http-proxy将会监视那个文件,如果你做了任何修改,它会自动更新它的路由表。

问候

+0

这就是你如何让工作代理服务器在5分钟内启动并运行。我发现NodeJS真棒。轻而简单。 – Pijusn