Express.JS 用于连接远程网络主机的服务器

Express.JS server to connect to host on remote network

所以我得到了这个小型快递服务器运行。我可以将它连接到本地网络上的其他设备,例如手机和其他个人电脑。 但是,当通过我的 4g 连接时,它不起作用。这有什么理由吗?我确信当我 ping 远程网络上的其他私有地址时它以前是有效的,为什么现在不行了?

代码:

const express = require("express");
const server = express();
const PORT = 3000

server.use(express.static("static"));

server.get("/", (req,res)=>{
    res.sendFile(__dirname +  "/pages/index.html")
});

server.listen(PORT, "0.0.0.0", (req,res) => {
    console.log("Listening on port ", PORT)
});

我有一些网络经验(仍然是一个菜鸟,只是在学习),这确实让我感兴趣。

我假设您正在尝试通过本地 IP 访问服务器。但是您使用的是 4G(可能在您的 phone 中),这意味着您的请求是通过互联网进行的,而您的本地 IP 仅在您的网络中有效。

即使您使用的是 public IP,您也可能必须在路由器上配置端口转发才能知道如何处理该端口的传入流量。

如果您在私有网络中托管 express 服务器,则必须通过创建端口转发、目标 nat 或某种发布私有服务到 public 世界方法来访问 express 服务器。

如果您需要更多帮助,我需要了解更多关于您的网络环境、您的 public ip 和...

欢迎提问 收获满满的一天