Heroku在调用我的端点(H12)时超时,在本地服务器上运行良好



这里的全部noob,以及目前正在学习node.js及其所能获得的所有乐趣。我用node/express编写了一个REST API,mongoDB中有一个数据库(我的代码中有mongose(。该数据库是在AWS上托管的免费数据库(通过mongoDB网站(。

我正在调用以下端点:https://rewaer-backend.herokuapp.com/api/users/和邮递员在一起。

以下是路线的样子:

// GET all users
router.get("/", async (req, res) => {
try {
const user = await User.find();
res.json(user);
}
catch (err) {
res.status(400).json({ message: err });
}
});

但是我从heroku得到了以下错误:

2020-10-07T14:39:58.684608+00:0 heroku[路由器]:at=错误代码=H12desc=";请求超时";method=POST路径="/api/users/";host=rewaer-backend.herokuapp.comrequest_id=94d50342-514e-45e7-94ad-5cb1cde44fa fwd=";37.120.11.242";dyno=web.1连接=1ms服务=30001ms状态=503字节=0protocol=https

我的收藏"用户";只有两组数据。而且,真的很小。当在本地运行服务器(连接到AWS上的DB(时,这可以很好地工作。正如您在我的代码中看到的,即使发生错误,我也应该返回一些内容。所以没有理由在这里暂停。Heroku日志显示到数据库的连接是成功的。

我不知道什么在这里不起作用,谷歌也无法进一步帮助我:因此我问真正的智者;(

非常感谢您的帮助,

Clément

MongoDB驱动程序中默认的服务器选择超时为30秒。Heroku在其路由层中也有30秒的超时,以便应用服务器产生响应。

  • 将服务器选择超时更改为较低的值
  • 然后修复MongoDB连接问题(可能是IP白名单(

最新更新