为啥我无法从任何网络连接到 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 服务器?的主要内容,如果未能解决你的问题,请参考以下文章