为什么我无法从任何网络连接到 NodeJS Express 服务器?

Why can i not connect to NodeJS express server from any network?

假设我在端口 3001 上有一个 Web 服务器 运行,我的 ip 是 23.512.531.56(顺便说一句,不是实际的 ip 地址)我进入另一个网络,比如我的邻居或其他网络,如果我输入 chrome 23.512.531.56:3001 为什么我无法从服务器获得响应?这是我的 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 服务。

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

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

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