Nginx 有没有一种解决方案可以让Node.js充当HTTP反向代理?

Nginx 有没有一种解决方案可以让Node.js充当HTTP反向代理?,nginx,reverse-proxy,node.js,Nginx,Reverse Proxy,Node.js,我们公司有一个项目,目前使用nginx作为反向代理,用于服务静态内容和支持comet连接。我们使用长轮询连接来摆脱不断的刷新请求,并让用户立即获得更新 现在,我知道已经为Node.js编写了很多代码,但是有没有一种解决方案可以让Node.js像nginx一样充当服务静态内容的反向代理?或者可能有一个框架允许使用Node快速开发这样一个层。js?可能会帮助您,如果不是完整的解决方案,那么可能会作为一个解决方案的构建块 然而,您可能希望重新考虑保留nginx以提供静态内容——它是专门为这个特定任务设

我们公司有一个项目,目前使用nginx作为反向代理,用于服务静态内容和支持comet连接。我们使用长轮询连接来摆脱不断的刷新请求,并让用户立即获得更新

现在,我知道已经为Node.js编写了很多代码,但是有没有一种解决方案可以让Node.js像nginx一样充当服务静态内容的反向代理?或者可能有一个框架允许使用Node快速开发这样一个层。js?

可能会帮助您,如果不是完整的解决方案,那么可能会作为一个解决方案的构建块

然而,您可能希望重新考虑保留nginx以提供静态内容——它是专门为这个特定任务设计和调优的。使用node.js来提供静态内容会增加很多开销,就像使用PHP来提供静态文件一样。

听起来像是您想要的

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

http.createServer(function (req, res){
    var proxy = new httpProxy;
    proxy.init(req, res);
    proxy.proxyRequest('localhost', '9000', req, res);
}).listen(8000);

http.createServer(function (req, res){
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.write('request successfully proxied!' + '\n' + JSON.stringify(req.headers, true, 2));
    res.end();
}).listen(9000);</code></pre>