5

最も単純な例を実装しようとしています:

var http = require('http'),
var httpProxy = require('http-proxy');

httpProxy.createServer(function (req, res, proxy) {
    //
    // I would add logging here
    //
    proxy.proxyRequest(req, res, { host: 'www.google.com', port: 80 });
}).listen(18000);

このプロキシを使用するようにブラウザを設定し、www.google.com に移動すると、応答がありません。私が間違っていることは何ですか?

Windows 7 Chrome を使用しています

4

3 に答える 3

6

リクエストをログに記録する方法の簡単な例を次に示します。私は同様のものを使用して、すべてのドメインを 1 つのデータベースに記録します。

http://blog.nodejitsu.com/http-proxy-middlewares (アーカイブ)から多くをコピーしました

var fs = require('fs'),
    http = require('http'),
    httpProxy = require('http-proxy'),
        
logger = function() {    
  // This will only run once
  var logFile = fs.createWriteStream('./requests.log');

  return function (request, response, next) { 
    // This will run on each request.
    logFile.write(JSON.stringify(request.headers, true, 2));
    next();
  }
}

httpProxy.createServer(
  logger(), // <-- Here is all the magic
  {
    hostnameOnly: true,
    router: {
      'example1.com': '127.0.0.1:8001', // server on localhost:8001
      'example2.com': '127.0.0.1:8002'  // server 2 on localhost:8002
  }
}).listen(8000);
于 2012-12-31T00:19:36.677 に答える
1

投稿された情報が非常に短いため、これが役立つかどうかはわかりません。しかし、APIを更新したという投稿を見つけました...

あなたはこの投稿をチェックしたいかもしれません:

node-http-proxy v0.5.0 へのアップデート http://blog.nodejitsu.com/updating-node-http-proxy

于 2012-06-11T18:16:47.183 に答える