是否有一个解决方案,让Node.js的行为作为HTTP反向代理?
-
19-09-2019 - |
题
我们的公司有,现在使用的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为静态文件
不隶属于 StackOverflow