繁体   English   中英

所有Node.js / Express路由在托管服务器上返回404

[英]All Node.js/Express routes returning 404 on hosted server

我最近开始用node.js构建一个应用程序。 过了一段时间我想把它移到我的托管帐户上来真正测试它。

首先我从源安装了nodejs。 然后,除了数据库登录之外,我没有更改任何代码。 当我运行它时,没有错误。 兴奋地我试了一下。 令我沮丧的是,我为我编写的每一条路线都获得了404。

例如:

router.route('/new')
.post(function(req, res){
    //My Route Code
});

app.use('/api', router);

然后我去:

mywebsite.com/api/new

这将从我的apache服务器返回404 Not Found错误。

我还要注意,我正在使用我正在使用共享主机,并且我还在我的测试服务器上彻底测试了我的代码。

如何修复它以便我的代码实际路由我的请求?

看来你的Node应用程序不是问题,而是你的Apache配置。

如果它是给你404的Express那么你应该在正文中看到404响应作为纯文本:

Cannot GET /api/new

这是标准的Express消息。 如果你没有看到它,那么Express就不会给你那个答案,而是其他的东西 - 可能是Apache。

确保将Apache正确配置为您尝试从浏览器访问的主机名和端口的反向代理,并将请求传递到可以访问Node应用程序的正确主机和端口。

看那些教程:

sudo服务apache2删除
节点app.js

如果您需要apache上的节点,请参阅此文档
同一服务器上的Apache和Node.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM