节点Web服务器在外部不可见,但Python是(MacOS)

我刚刚开始构build一个Ionic 2应用程序,但我无法在我的移动设备上正常工作。

Python(作品)

为了演示手机可以看到主机,我尝试了一个Python服务器:

$ python -m SimpleHTTPServer 8000 Serving HTTP on 0.0.0.0 port 8000 ... 

如果我在手机上访问http://192.168.8.101:8000它连接正常,并显示目录列表。

节点(失败)

但是,当我启动Ionic时:

 $ ionic serve -p 8000 [...] [INFO] Development server running Local: http://localhost:8000 External: http://192.168.8.101:8000 

我可以在我的主机的networking浏览器中加载它,但是我无法从我的手机或其他计算机上看到它 (超时)。 我也尝试了一个基本的节点服务器 :

 $ npm install http-server -g $ http-server -p 8000 Starting up http-server, serving ./ Available on: http://127.0.0.1:8000 http://192.168.8.101:8000 

与Ionic的结果相同:可以从主机访问,但不能从电话访问。

有什么阻止请求吗? 还是有一些节点configuration我错过了? 我是Mac OS和Node的新手,所以我不知道在哪里看。

不好意思,这竟然是一个防火墙问题。 在“ 系统偏好设置”>“安全和隐私”>“防火墙”>“防火墙选项”中 ,“节点”

在这里输入图像说明

将其更改为允许已经修复它。 唷!

只要执行ionic address ,你会在你的命令行中得到一个IP地址。 尝试使用您的手机的ipaddress:port号,以便您通过手机访问您的网站。

只要incase,如果ionic address命令不返回任何东西,你需要执行下面的命令将其指向您的IP,

 ionic serve --address YOUR_IP_ADDRESS 

希望这可以帮助!