[英]Implementing Reverse Proxy in Nodejs
我正在嘗試使用nodejs創建一個反向代理,在這里我可以映射不同的組合來指向各種網站。
以下是我的首次嘗試代碼:
var http = require('http'),
httpProxy = require('http-proxy');
httpProxy.createServer(function (req, res, proxy) {
proxy.proxyRequest(req, res, {
host: 'www.yahoo.com',
port: 80
});
}).listen(8000);
很好,但是如果我有一整套組合的話。 我不知道該怎么做。
我的第二次嘗試
var http = require('http'),
httpProxy = require('http-proxy');
var mapping = {
hostnameOnly: true ,
router : {
'127.0.0.1:8000' : 'www.google.com' ,
'127.0.0.1:8001' : 'www.yahoo.com'
}
}
var proxyserver = httpProxy.createServer(mapping).listen (80) ;
這甚至行不通,我不知道為什么。
好吧,我試圖創建的只是一個簡單的應用程序,我在其中映射到域並獲取那些頁面。 我仍然對Node.js感到困惑,所以如果問題聽起來很荒謬,我深表歉意。
您的第二次嘗試失敗,因為hostnameOnly
規范不接受路由路徑中的端口。 從node-http-proxy docs :
var options = {
hostnameOnly: true,
router: {
'foo.com': '127.0.0.1:8001',
'bar.com': '127.0.0.1:8002'
}
}
不過,您在正確的軌道上。 看這里 。 如果省略hostnameOnly
參數,它應該可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.