我如何在端口80上运行Node.js?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我如何在端口80上运行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);

但是我不断收到端口80的“使用中的地址”错误。

提问于
用户回答回答于

需要做的是为你正在运行的服务器提供2个ip。Apache有1个IP绑定到端口80,然后node.js有另一个IP绑定到端口80。

用户回答回答于

然后在端口8080或whatev上运行你的应用程序

sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

如果你不使用ngnix或apache

扫码关注云+社区