我有一个Hello World节点应用程序:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
console.log('in the get /');
res.send('Hello World!');
});
app.listen(8080, function () {
console.log('Example app listening on port 8080!');
});
我已将此推送到我的EC2实例。我转到我的网址,页面是黑色的。我看到503正在回来。我看到实时节点日志和应用程序进入app.get,因为我反复看到'在get /'。
我有2个实例。第一个是运行Nginx,并且对example.net的请求被重定向到https://www.example.net。我还有一个Load Balancer监听器,它将请求发送到www.example.net并将它们引导到我的Node实例。
顺便说一句,每隔几秒我就会看到一个新的'在get /'行。所以我的应用程序反复受到上帝知道在哪里。这可能与获取503(表示服务器正忙)有关吗?注意:昨天工作正常。
修改 该应用程序突然开始返回“Hello World”。然后我重新启动了应用程序 - 没有更改代码 - 我又回来了503'
答案 0 :(得分:0)
ELB检测到您的实例运行状况不佳,因为它在重启期间会出现故障(不健康阈值)。然后,它必须再次通过健康检查一定次数才能恢复健康检查(健康阈值)。您可以在ELB settings中配置所有这些内容。
如果您的池中只有一个实例,我会降低不健康阈值。并且可能也会减少HealthCheck Interval。