【问题标题】:NodeJS Project is Not Accessible By Other IPS其他 IPS 无法访问 NodeJS 项目
【发布时间】:2020-07-25 22:36:53
【问题描述】:

作为一名移动开发人员,我使用 NodeJS/ExpressJS 为我的应用创建了一个简单/中级 API。

我在 Linux VPS 上导出项目并启用通过域访问,例如; myapp.com:5000/api/users...

问题是我是唯一可以访问这个项目的(ip)。当我向 myapp.com:5000/get/user 之类的人发送链接时,他们无法打开它。

有趣的是,我只能通过我的 Wifi 访问(无法通过移动数据访问),而且我使用的是导出版本而不是本地 IP 地址。你有什么建议吗?

全球:

app.use(express.json()); app.use(express.urlencoded({extended: true})); app.use(express.json());

服务器端代码:

app.use((req, res, next) => {
const error = new Error('Not Found!');
error.status = 404;
next(error);});

app.use((err, req, res, next) => {
res.status(err.status || 500);
res.json({message: "Unknown Server Error"});

});

module.exports = app.listen(5000, "0.0.0.0",() => console.log("Server Started on Port"));

我尝试了不同的端口,例如 3000、5000,但没有成功。

【问题讨论】:

    标签: node.js api express


    【解决方案1】:

    如果您在服务器上托管了 API,请使用:

    let port = process.env.PORT || 5000
    
    app.listen(port, ()=>{
    console.log("app is running on "+ port);
    });
    

    【讨论】:

    • 感谢您的回复,但这也没有用。我之前试过。我看到一些“httpCreateServer”代码片段,你认为我应该使用类似的东西吗?
    • 日志显示应用在 5000 上运行,但其他 IP 仍无法访问。
    • 是否存在 CORS 问题?
    • 对了,你为什么在 "module.exports = app.listen(5000, "0.0.0.0",() => console.log("Server Started) 中使用 "module.exports"在端口上"));"
    • 我删除了那部分,还是一样。我没有收到 CORS 错误,但无论如何我使用并启用了它但没有用。该页面根本没有响应。有趣的是,即使它托管在服务器上,它也可以在我的 wifi 上运行
    【解决方案2】:

    我找到了解决方案。这既棘手又容易。我不得不从 Centos 面板中关闭我的防火墙。

    【讨论】:

      猜你喜欢
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      相关资源
      最近更新 更多