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

时间:2017-03-29 18:02:46

标签: javascript node.js apache http

我最近开始使用node.js构建应用程序。一段时间后,我想把它移到我的托管帐户上进行真正的测试。

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

例如:

mywebsite.com/api/new

然后我去:

404 Not Found

这会从我的apache服务器返回{{1}}错误。

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

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

2 个答案:

答案 0 :(得分:0)

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

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

Cannot GET /api/new

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

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

请参阅这些教程:

答案 1 :(得分:0)

sudo service apache2删除
node app.js

如果您需要apache上的节点,请参阅此文档 Apache and Node.js on the Same Server