2012-03-20 4 views
1

node-http-proxyの最新バージョンは動作しません(以前のバージョンでは動作していました)。 Node.jsのバージョンは0.6.12、node-http-proxyのバージョンは0.8.0です。 基本的には、ポート10000でリッスンしているサーバーとポート5000でリッスンしているサーバーがあります。この最後のユーザーに、/ apiで始まるすべての要求を(この接頭辞を削除した後で)プロキシしたいと思います。expressjsでnode-http-proxyを使用するとエラーが発生する

私のコードは次のとおりです。

var express = require("express"); 
var httpProxy = require('http-proxy'); 
var cluster = require('cluster'); 
var fs = require('fs'); 

// Use http server for local tests 
var app = express.createServer(); 

// Proxy request targeting API 
app.all('/api/*',function(req, res){ 

    // Remove '/api' part from query string 
    req.url = '/' + req.url.split('/').slice(2).join('/'); 

    // Create proxy 
    var proxy = new httpProxy.HttpProxy(); 
    proxy.proxyRequest(req, res, { 
    target: { 
     host: 'localhost', 
     port: 5000 
    } 
    }); 
}); 

// Handle static files 
app.use(express.static(__dirname + '/public')); 

// Run application 
app.listen(10000); 

静的ファイルが正しく務めたが、それは、プロキシのものに来るとき、私はこのエラーを得ています

Error: Both `options` and `options.target` are required. 
at new <anonymous> (/Users/luc/Projects/test/www/node_modules/http-proxy/lib/node-http-proxy/http-proxy.js:53:11) 
at /Users/luc/Projects/test/www/server.js:15:16 
at callbacks (/Users/luc/Projects/test/www/node_modules/express/lib/router/index.js:272:11) 
at param (/Users/luc/Projects/test/www/node_modules/express/lib/router/index.js:246:11) 
at pass (/Users/luc/Projects/test/www/node_modules/express/lib/router/index.js:253:5) 
at Router._dispatch (/Users/luc/Projects/test/www/node_modules/express/lib/router/index.js:280:4) 
at Object.handle (/Users/luc/Projects/test/www/node_modules/express/lib/router/index.js:45:10) 
at next (/Users/luc/Projects/test/www/node_modules/express/node_modules/connect/lib/http.js:203:15) 
at Object.handle (/Users/luc/Projects/test/www/node_modules/express/lib/http.js:83:5) 
at next (/Users/luc/Projects/test/www/node_modules/express/node_modules/connect/lib/http.js:203:15)-error-undefined 

要求されるように、私はターゲットを追加しましたそれでも同じエラーです。

答えて

0

また、あなたはvar proxy = new httpProxy.RoutingProxy();

を言おうとされている可能性が
関連する問題