状态码 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 实例上运行良好。我认为这是一个不同的问题。)
我是 运行 具有 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 实例上运行良好。我认为这是一个不同的问题。)