如何通过互联网访问我的 Express Node.js 服务器?

How can I access my Express Node.js server through the internet?

我能够使用以下服务器代码通过 WiFi 网络上的本地 IP 地址 (192.168.XX.XX) 成功访问我的节点服务器:

var express = require('express');
var app = express();
var server = require('http').createServer(app);

server.listen(8080, "0.0.0.0");

我去了192.168.XX.XX:8080,成功访问了HTML文件。

具体来说,我正在使用我的 phone 访问服务器,但是如果我断开网络并使用手机服务,我将无法访问服务器。我查找了我的外部 IP 并得到 76.XXX.XXX.XXX。当我从 phone 转到 76.XXX.XXX.XXX:8080(不更改任何服务器代码)时,我无法访问服务器。我也试过在代码中切换到80端口,还是不行。

我有一个 McAfee 防火墙,我试图打开 8080 以供外部访问。我也完全关闭了防火墙,但仍然无法连接。

有什么想法吗?

看似最好的解决方案是使用 Ngrok。它允许您将本地服务器暴露给互联网。您可以在这里下载和使用它:https://ngrok.com/