我们公司有一个项目,现在使用nginx作为反向代理服务静态内容和支持彗星连接。我们使用长轮询连接来消除不断的刷新请求,并让用户立即获得更新。
现在,我知道已经为Node.js编写了很多代码,但有没有一种解决方案可以让Node.js作为nginx提供静态内容的反向代理?或者可能有一个框架允许使用Node.js快速开发这样的层?
答案 0 :(得分:3)
dogproxy可能会帮助你,如果不是作为一个完整的解决方案,那么可能作为一个的构建块。
但是,您可能希望重新考虑保留nginx以提供静态内容 - 它是专门为此特定任务设计和调整的。使用node.js来提供静态内容会增加很多开销 - 就像使用PHP来提供静态文件一样。
答案 1 :(得分:2)
node-http-proxy听起来像你想要的
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>