我们的公司有,现在使用的nginx作为提供静态内容和配套彗星连接的反向代理的项目。我们使用长轮询连接摆脱不断刷新的请求,并让用户立即获得更新。

现在,我知道有很多已经使用Node.js语言编写的代码,但有一个解决方案,让Node.js的行为作为反向代理的nginx的作为不提供静态内容?或者,也许有一个框架,允许快速开发使用Node.js的这种层?

有帮助吗?

解决方案

节点HTTP代理听起来像你想要的东西。

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>

其他提示

dogproxy 也许能帮助你,如果不是作为一个完整的解决方案则有可能将其作为建筑块之一。

不过,您可能要重新考虑保持nginx的提供静态内容 - 它是专门设计和调整了这个特殊的任务。你会添加大量的开销在如何使用Node.js提供静态内容 - 就像使用PHP为静态文件

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top