Npm 使“http服务器”在网络上可见

Npm 使“http服务器”在网络上可见,npm,httpserver,Npm,Httpserver,运行npm的httpserver有时会启动一个服务器,该服务器可以从同一网络上的(移动)设备访问 > http-server Starting up http-server, serving ./ Available on: http://127.0.0.1:8080 http://10.0.1.7:8080 http://123.456.78.90:8080 Hit CTRL-C to stop the server 有时启动一个服务器,它只能从同一个桌面上看到 >

运行
npm
httpserver
有时会启动一个服务器,该服务器可以从同一网络上的(移动)设备访问

> http-server
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8080
  http://10.0.1.7:8080
  http://123.456.78.90:8080
Hit CTRL-C to stop the server
有时启动一个服务器,它只能从同一个桌面上看到

> http-server
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8080
  http://10.0.1.7:8080
Hit CTRL-C to stop the server
如何使用
http服务器
启动可以从同一网络上的任何设备看到的web服务器?
http://10.0.1.7:8080
本身应该表明服务器在网络上是可见的,不是吗? 为什么第三个地址
http://123.456.78.90:8080
仅偶尔出现。两次发射完全相同

当然,所有这些都遵循npm安装-g http服务器

更新1:

http服务器-默认为0.0.0.0
。(因此无需指定。)

更新2:

使用


更可预测/更可靠,但必须仔细查看
ifconfig
的输出,才能找到
npm
http服务器

所显示的IP,它应该始终对与您的计算机相同网络中的任何人可用,在您的计算机的IP和端口下

我认为,出现第三个地址是因为在您同时连接到两个本地网络时,http服务器将在该IP上可用,该IP也是您计算机的IP,但在第二个网络中

简言之:

  • http://127.0.0.1:8080
    是用于从运行服务器的机器内部连接到服务器的IP
  • http://10.0.1.7:8080
    任何后续IP都是用于从同一网络中的任何设备连接到服务器的IP。IP的数量取决于您连接的本地网络的数量

这与npm无关,只是网络的工作方式。Python的http服务器只是没有为您列出IP。

让我们尝试排除一些明显的情况:

  • 您收到了什么错误消息?您是否在浏览器中看到连接超时页面
  • 您的手机是否与http服务器连接到同一路由器
  • 你的手机的IP是多少?(我可以看到它,例如在我的路由器中)
  • 您没有在其他设备上使用任何vpn,是吗
  • 当您在本地调用它时,是否看到正确的结果
  • 您可以从网络中的任何设备ping http服务器机器吗
  • 您是否尝试使用另一个端口,例如80

这很有道理。我有两个路由器(机场时间机器和快车)。第三个IP的存在取决于快递员是否清醒。不过,有些事情还不清楚。如果有3个IP,则可以从移动设备进行访问。由于只有两个IP,即使第一个机场一直处于唤醒状态,也无法访问。我遗漏了什么?@JohannKexel:你写的毫无意义,端口转发根本不适用于这种情况。@Calaf:你的手机连接到了什么路由器?我想你可以在wifi设置下进行检查-如果在10.x.x.x范围内,你应该和你的电脑在同一个网络上,并且可以连接。还有,如果我可以问一下,为什么你家里有两台路由器?对不起,你是对的。端口转发没有意义,因为它与internet无关,只与内部连接有关。我删除了我的评论。
python3 -m http.server --bind 0.0.0.0