我是 NodeJs 新手。我在本地开发系统中启动了一个简单的 Node.js 服务器,如下所示:
var http = require('http');
var fs = require('fs');
var server = http.createServer( function (req, res) {
console.log(req.url);
res.end();
}).listen(8000);
我可以从 localhost
、127.0.0.1
和 192.168.1.103
访问服务器,但是当我尝试从我的服务器访问服务器时公共(public)IP地址84.47.***.**
我唯一得到的是:
timeout
在过去的 2 个小时里,我一直在阅读有关此问题的文章,所有内容都只是说将主机设置为 0.0.0.0
,如果没有提供,这是 node.js 的默认主机。
我可以 ping 我的公共(public) IP 并获得正确的结果。
我使用的是 Windows 8.1,Windows 防火墙关闭
,并且我在 comodo 防火墙中定义了自定义允许规则,并且为了确保也禁用了 comodo 防火墙。
当我检查node.js正在监听0.0.0.0:8000
和:::8000
(我认为是IPv6)的TCP
连接。
我在这里缺少什么?我应该怎么办?是因为windows的原因吗?或者什么?
感谢对此的任何帮助。
最佳答案
您如何连接到互联网?你有没有路由器?如果您有路由器,则需要将其配置为从外部 IP 和端口到 PC 的本地 IP 和端口的端口转发。在 Node 服务器中,您需要监听您的本地IP(在此IP路由器上将转发请求)。如果你没有路由器,那么你需要使用你的公共(public)IP来监听你的网卡。
关于node.js - NodeJs 服务器无法从互联网访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36257536/