为啥我无法从任何网络连接到 NodeJS express 服务器?

Posted

技术标签:

【中文标题】为啥我无法从任何网络连接到 NodeJS express 服务器?【英文标题】:Why can i not connect to NodeJS express server from any network?为什么我无法从任何网络连接到 NodeJS express 服务器? 【发布时间】:2021-01-14 09:50:19 【问题描述】:

假设我有一个在端口 3001 上运行的 Web 服务器,我的 ip 是 23.512.531.56(不是实际的 ip 地址顺便说一句),如果我输入 chrome @987654321,我会进入另一个网络,比如我的邻居之类的东西@为什么我不能从服务器得到响应?这是我的 nodeJS 代码。

//"Imports" libraries reqired.

const express = require("express");
const fs = require("fs");

//Starts express

const svr = express();

//Main

svr.get("/", (req, res)=>
    fs.createReadStream("./html/index.html").pipe(res);
);

svr.get("/image0.png", (req, res) => 
    fs.createReadStream("./html/image0.png").pipe(res);
);

//Sets port to host on

svr.listen(3001);

【问题讨论】:

必须对外开放3001端口并绑定到本地机器(端口转发)。看看你的路由器!如果不是固定 IP,请使用 DynDNS 服务。 很高兴。 【参考方案1】:

您需要在同一个网络中。例如,如果您使用不同的 wifi(来自您的邻居),您将无法访问您的本地 NodeJs 服务器。如果您的设备在相同的默认网关下,您可以访问您的服务器。

如果您想从任何网络访问它,您可能希望将其部署到全球网络。

补充一点,即使是为了说明,也不要使用不正确的 IP 地址

【讨论】:

23.512.531.56 是不是本地的公共 IP,如果是,则邻居也必须在同一网络中。【参考方案2】:

您必须向外部开放端口 3001 并绑定到您的本地计算机(端口转发)。看看你的路由器!如果不是固定 IP,请使用 DynDNS 服务。

【讨论】:

以上是关于为啥我无法从任何网络连接到 NodeJS express 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何允许其他网络连接到服务器 nodejs socket io

电脑为啥显示无法连接到这个网络?

为啥我的手机显示无法连接到服务器

无法从 nodejs/python 客户端连接到 grpc

无法从 NodeMCU 板连接到 Wi-Fi 网络

为啥我无法从外部连接到 Kafka?