我正在为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);我的问题是,我可以动态更新可路由吗?而不关闭代理服务器?
答案: Thx
发布于 2012-04-27 14:40:06
对于每个面临这个问题的人来说,我最终得到了开箱即用的解决方案。这是完全可能的,如果你传递一个指向文件的字符串,而不是传递一个对象作为arg。我将举一个例子,它应该是清晰的。
proxy.js:
var httpProxy = require('http-proxy');
var options = { router: 'table.json' };
httpProxy.createServer(options).listen(80);正如你在这里看到的,我传递了table.json作为路由器选项。所以看看这个文件里面。
table.json:
{
"router":
{
"domain1.com": "127.0.0.1:8080",
"domain2.com": "127.0.0.1:8001"
}
}这就是全部的魔力。node-http-proxy将监视该文件,如果您对其进行任何更改,它将自动更新其可路由。
问候
发布于 2012-01-06 03:05:40
是的,但不是使用ProxyTable。我已经记录了an alternative to http-proxy's ProxyTable called 'Switchboard',它可以做你想要做的事情。您必须重新安排一些功能来正确初始化路径和后端目标,但这应该是一个简单的操作,并且backendTable对象在运行时是动态可用的。
https://stackoverflow.com/questions/7690751
复制相似问题