Node-http-proxy 动态路由表?

Posted

技术标签:

【中文标题】Node-http-proxy 动态路由表?【英文标题】:Node-http-proxy dynamic routetable? 【发布时间】:2011-12-03 04:40:38 【问题描述】:

我为 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);

我的问题是,我可以动态更新路由表吗?不关闭代理服务器?

谢谢解答

【问题讨论】:

【参考方案1】:

对于面临这个问题的每个人,我终于找到了开箱即用的解决方案。如果你传递一个指向文件的字符串,而不是传递一个对象作为参数,这一切都是可能的。我举个例子应该就清楚了。

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 将监视该文件,如果您对其进行任何更改,它将自动更新其路由表。

问候

【讨论】:

这就是您如何在 5 分钟内启动并运行一个正常工作的代理服务器。我发现 NodeJS 很棒。轻巧简单。 他们有这方面的文档吗?【参考方案2】:

是的,但不使用 ProxyTable。我已经记录了an alternative to http-proxy's ProxyTable called 'Switchboard',它可以做你想做的事情。您必须重新安排一些功能以正确初始化路径和后端目标,但这应该是一个简单的操作,并且backendTable 对象在运行时动态可用。

【讨论】:

以上是关于Node-http-proxy 动态路由表?的主要内容,如果未能解决你的问题,请参考以下文章

网路配置动态路由

配置动态路由的注意事项

动态路由器

动态路由器

3.21下午

使用动态路由协议连通全网