当前位置: 首页 > 知识库问答 >
问题:

服务器上的节点JS 504错误,但在本地主机上工作

梁宪
2023-03-14

我试着简单地在我的路线和渲染产品中获取照片的位置。ejs文件:

 //Show individual product info
router.get('/product/:id', async function(req, res, next) {
  let filesFromFolder;

  Promise.all([
    database.retreaveImage(req.params.id)
  ]).then(resultArr => {
    filesFromFolder = resultArr[0];


    res.render('product.ejs', {
      productName: req.params.id,
      data: filesFromFolder

    });
  });
});

它在本地主机上工作,现在我导入我的路由。在real server中的js文件,当我尝试打开产品时,它抛出504错误。

试图按照这个指示,但没有帮助。

获得504GATEWAY_TIMEOUTNodeJs

grep-i“504”/var/log/nginx/access。日志

82.135.208.60--[2019年9月16日:07:52:25 0000]“GET/product/line_fan_pool HTTP/1.1”504 594http://13.58.120.242:3000/horizontal“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/76.0.3809.132 Safari/537.36”82.135。208.60--[2019年9月16日:08:03:15 0000]“GET/product/line_pool HTTP/1.1”504 594http://13.58.120.242:3000/“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/76.0.3809.132 Safari/537.36”82.135。208.60--[2019年9月16日:08:10:19 0000]“GET/product/line_pool HTTP/1.1”504 594http://13.58.120.242:3000/“Mozilla/5.0(Linux;Android 6.0;Nexus 5Build/MRA58N)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/76.0.3809.132 Mobile Safari/537.36”

共有2个答案

曾弘扬
2023-03-14

我在我的nodeexpressjs应用程序中遇到了一个504,当时我的http代理中间件中发生了故障。

这是一个未捕获到的promise错误,因此服务器以静默方式超时进入504,而不是报告错误。

所以永远不要忘记抓住你的promise,当它们倒下的时候。(这就是这里发生的事情吗?)

 //Show individual product info
router.get('/product/:id', async function(req, res, next) {
  let filesFromFolder;

  Promise.all([
    database.retreaveImage(req.params.id)
  ]).then(resultArr => {
     //...
  }).catch(err => next); // catch and burn.
});

耿和韵
2023-03-14

问题是,AmazonWeb服务器不支持旧版本的MYsql,所以我不得不更新它。这解决了我的问题。不得不在pm2监视器中观察错误。

 类似资料:
  • 这是我的第一个问题,也是第一篇英文帖子,请耐心等待。 我正在研究ASP。NET MVC Web Api RESTful应用程序。对于用户身份验证,我想使用加密令牌。我在localhost上工作的想法是:用户请求令牌地址/令牌,在头中包括auth:昵称:passwd,服务器返回加密的令牌,用户将在下一个请求中使用它。所以,用户发送带有头身份验证令牌的请求:encryptedToken,服务器将解密该

  • 在部署Meamapp时,mongoDB在本地节点上工作正常server.js但当我部署到heroku时,它显示错误 2019-06-04T02:49:12.401001 00:00 heroku[web.1]:状态从up更改为Start 2019-06-04T02:49:13.706279 00:00 heroku[web.1]:使用SIGTERM停止所有进程 2019-06-04T02:49:1

  • 我开发了一个React应用程序,它使用Laravel作为API。我已经通过Passport添加了登录,并且已经相当成功地使用了个人访问客户端方法。我可以添加新用户和令牌,我可以撤销令牌,我可以重置密码...所有的API调用(除了登录和注册)都由API中间件保护,它可以工作。如果我从任何这些调用的头中删除,则由于->middleware('auth:api')包装器,它将返回401未经验证。 一切都

  • 我一直在努力从我的ubuntu服务器发送邮件。奇怪的是,它在我的mac上的本地tomcat实例上运行得非常好。 以下是我的实现: 让我恼火的是,javamail的输出日志在我的服务器和本地是一样的,而且没有错误: 到目前为止我所做的一切 > 检查我的垃圾邮件(比如一千次,以防万一... 尝试了其他端口,如465和25- 使用iptable打开587端口 iptables -A 输出 -p tcp

  • 我有这个简单的代码: 这在本地主机上效果很好,并导致: 但是当我在Heroku上使用它时,我得到了一个应用程序错误。日志状态: 2018-09-12t 13:50:25.541953 00:00 heroku[web . 1]:状态从启动更改为崩溃 2018-09-12T13:50:32.696713 00:00 heroku[router]: at=error code=H10 desc=“Ap

  • 我有两个应用程序——基于浏览器的客户端和基于NodeJS的服务器,它们都使用WebSockets进行通信(我使用的是ColyseusJS库)。问题是,当我在本地主机上测试它们时,一切都正常,但当我将应用程序部署到我的Ubuntu VPS服务器时,它停止工作。 我在尝试连接时在浏览器中收到的消息是: 所以它到达服务器(因为当服务器被禁用时,消息是“连接建立中的错误:净::ERR_CONNECTION