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

标签 javascript node.js apache http

我最近开始使用 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 配置的问题。

如果是 Express 为您提供 404,那么您应该会在正文中看到一个 404 响应,其中包含纯文本:

Cannot GET /api/new

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

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

查看那些教程:

关于javascript - 所有 Node.js/Express 路由在托管服务器上返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43100877/

相关文章:

java - MultiValueMap 获取值

javascript - 将 jQuery 对象返回到字符串中

javascript - DOM 中两个元素之间的距离(以像素为单位)

80 端口的 Apache 请求重定向到 8080 的 tomcat

node.js - sinon 否认一个 stub 被调用,即使它被调用了

javascript - 从生成的子进程运行脚本时如何在控制台中保留颜色?

apache - 当网站在 Tomcat 前使用 Apache Varnish 配置时获取用户机器的 IP 地址

javascript - Angular 4 - 如何从指令中运行动画?

javascript - CSS 有两个列表,同步它们的垂直滚动,同时允许一个列表水平滚动

node.js - 如何使用 baucis 在 POST 请求后获取插入的 mongo id