状态码 503 Service Unavailable 可能是什么原因

What could be the reason for the status code 503 Service Unavailable

我是 运行 具有 2 项服务的 Ubuntu 服务器(DigitalOcean Droplet)。 React(创建 React App)端口 3000 中的前端和端口 8765 中的 Node.js backend/API with PM2(pm2.keymetrics.io).

Screenshot of PM2 running 2 services

端口已打开(3000 和 8765)。我检查了。

lsof command showing the open ports

问题:当前端应用程序(在我的浏览器中)尝试访问后端时,它returns“503 服务不可用”状态代码。

Screeshot of the browser developer tools showing 503

问题:可能是什么原因?你能建议任何尝试步骤吗?

注意:在过去的几周里它运行良好。 (我曾经从 Bitbucket 中提取新的更改)但是今天我遇到了这个问题。

到目前为止我尝试了什么

  • 重新启动服务器。同样的错误。
  • 将后端端口从 9000 更改为 8765
  • 运行 新 AWS EC2 实例中的相同代码。那里工作正常。
  • 强制监听 IPv4(基于@adel 评论) Screenshot using IPv4

我多次调用后端(使用前端)并使用 Ubuntu 'top' 实用程序观察 运行 进程。请参阅下面的屏幕截图。

我注意到后端 node.js 应用程序进程的进程 ID 是 12225。即使返回“503 服务不可用”,也会重复调用此进程。

原来后端应用程序代码returns这个状态代码以编程方式(用一个try-catch块,每当错误发生时)

try{
 ...
}
catch (e) {
 res.send(503, ...)
}

我为此苦苦挣扎了几天。希望这会对某人有所帮助。

(发现新问题是为什么特定错误只发生在特定服务器上。它在 EC2 实例上运行良好。我认为这是一个不同的问题。)