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

我能够通过我的WiFinetworking上的本地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文件。

具体来说,我使用手机访问服务器,但如果我离开networking并使用手机服务,则无法访问服务器。 我查了我的外部IP,得到了76.XXX.XXX.XXX。 当我从手机转到76.XXX.XXX.XXX:8080(不更改任何服务器代码)时,我无法进入服务器。 我也尝试切换到代码中的80端口,它仍然没有工作。

我有一个迈克菲防火墙,我试图打开8080可以从外部访问。 我也完全closures防火墙,但仍然无法连接。

有任何想法吗?

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