如果AWS ELB健康检查一直失败,则需要检查以下几个方面:
1.确认ELB设置的端口是否正确。假设这是一个HTTP ELB,端口应该设置为80。如果是HTTPS ELB,端口应该设置为443。
2.确认后端服务的健康检查端口是否开放。如果您在服务器实例中使用了防火墙,则需要确保已将ELB使用的健康检查端口(在AWS控制台或CLI中定义)打开。
3.确认后端服务是否在负载均衡器实例的可用区内。如果不是,请将后端服务移到与负载均衡器实例相同的可用区。
以下是一个Node.js Express应用程序的代码示例,展示如何设置健康检查URL和响应。
const express = require('express')
const app = express()
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.get('/health-check', (req, res) => {
res.status(200).send('OK')
})
const port = 3000
app.listen(port, () => {
console.log(`Server listening on port ${port}`)
})
在以上代码示例中,当ELB进行健康检查时,将请求发送到/health-check
URL。当检查成功时,应用程序将返回状态码200和“OK”响应。