0

我正在尝试编写一个 node.js 应用程序,以确保首先设置我的环境。

网络服务器是 Fedora 21,我在防火墙上打开了 3000 端口并刷新了 ip 表。nmap localhost 指示端口 3000 正在侦听。

我正在使用这个节点应用程序

var http = require('http');
var PORT = process.env.PORT || 3000;

http.createServer(function (req, res) {
  console.log('%d request received', process.pid);
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello world!\n');
}).listen(PORT);

console.log('%d listening on %d', process.pid, PORT);

但是当我将浏览器导航到我的服务器时,我没有收到任何预期的 hello world 消息。

4

2 回答 2

0

也许检查防火墙规则?IIRC 许多防火墙更喜欢丢弃数据包而不是主动拒绝——因此您可能会发现(最终)Web 浏览器超时。简单的检查方法:在一个控制台中,执行:nc -l -p {无论您的 PORT 环境变量设置为什么,或 3000,根据您的服务器逻辑},然后在另一个控制台中,执行 echo hello | 数控本地主机 9999

如果您在第一个控制台中看到 hello,您至少可以排除一些 tcp 异常/防火墙问题。

于 2016-06-03T13:10:16.323 回答
0

结论 我是一个需要再喝一杯咖啡的白痴。

它可以 100% 工作,而不是导航到主机名/webapp 我需要导航到主机名:3000

于 2016-06-03T13:11:00.607 回答