2011-10-07 163 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