我的目标是在端口80上运行Node.js.这是因为我发现node.js被阻止某些不允许来自任何其他端口的流量的网络.
看来最好的方法是通过Node.js代理Apache.我曾尝试使用node-http-proxy来做到这一点,但我没有运气.
我正在使用的代码在这里:
var util = require('util'),
http = require('http'),
httpProxy = require('http-proxy');
httpProxy.createServer(9000, 'localhost').listen(80);
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('request successfully proxied to: ' + req.url + '\n' + JSON.stringify(req.headers, true, 2));
res.end();
}).listen(9000);
Run Code Online (Sandbox Code Playgroud)
但我不断收到端口80的错误"正在使用的地址".我一定是做错了.
如何使用node-http-proxy通过node.js代理Apache?这会让我在端口80上运行node.js吗?node-http-proxy是实现这一目标的最佳方式吗?
谢谢.
当我发出命令时,npm install express它会抛出以下错误.在ubuntu机器上
gaurav@gaurav-Mini-Monster:~/TestScripts$ sudo npm install -g express
npm ERR! error installing express@3.3.3 Error: Unsupported
npm ERR! error installing express@3.3.3 at checkEngine (/usr/local/lib/node_modules/npm/lib/install.js:493:14)
npm ERR! error installing express@3.3.3 at Array.0 (/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js:15:8)
npm ERR! error installing express@3.3.3 at LOOP (/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js:15:13)
npm ERR! error installing express@3.3.3 at chain (/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js:20:4)
npm ERR! error installing express@3.3.3 at installOne_ (/usr/local/lib/node_modules/npm/lib/install.js:470:3)
npm ERR! error installing express@3.3.3 at installOne (/usr/local/lib/node_modules/npm/lib/install.js:411:3)
npm ERR! error installing express@3.3.3 at /usr/local/lib/node_modules/npm/lib/install.js:347:9
npm ERR! error installing express@3.3.3 at /usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js:54:35 …Run Code Online (Sandbox Code Playgroud) 我有一个相对简单的meteor.js应用程序.它加载疯狂的慢(> 1分钟)并下载7.4M的资源.
起初我认为这是由于订阅速度慢,但网络日志显示它实际上是由资源下载(> 800个请求)引起的.
我还意识到大多数条目在网络日志中出现两次.这是正常的行为吗?