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