为什么我的Node.js Express Server无法在其他设备上运行?

时间:2019-08-10 18:56:03

标签: node.js express networking port

我已经启动了运行在端口3000上的Node.js Express服务器,该服务器可以在运行该服务器的本地计算机上运行。然后,我已将端口3000转发到路由器中计算机的IPv4地址,但仍无法连接到其他设备上的服务器。

与协议有关吗?你知道为什么它不起作用吗?

1 个答案:

答案 0 :(得分:0)

要连接到您自己的本地LAN上的服务器,您需要满足以下条件:

  1. 服务器的本地IP地址。它通常类似于192.168.1.x,但在某些情况下,其格式可能为10.0.0.x。
  2. 您需要确保服务器本身所在的计算机没有任何阻止传入的HTTP连接的本地防火墙。在Windows 10上,默认情况下有一个本地防火墙,该防火墙阻止传入的HTTP请求,因此您必须在该防火墙配置中的所需端口上启用传入的HTTP请求。
  3. 然后,您可以使用http://192.168.1.x:3000/格式的URL从本地网络上的其他位置连接到该服务器,其中192.168.1.x是服务器计算机的实际本地IP地址,而3000是IP地址。服务器正在其上运行的端口。
  4. 您需要确保其他设备实际上在本地网络上。例如,如果是电话,则需要确保它实际上是通过WiFi连接到您的本地网络,而不是连接到只能访问Internet而不是您的本地网络的访客连接。
  5. 您不需要在路由器中进行任何端口转发。从网络外部(例如从互联网)连接到服务器时,需要执行此操作。在这种情况下,您必须连接到公用IP地址,并将该安全端口转发到服务器。但是,由于您说过要尝试从LAN内连接到服务器,因此不需要外部防火墙上的任何端口转发。