在 AWS 应用程序负载均衡器后面添加启用 x-pack 的 Elasticsearch 导致由于缺少身份验证而导致健康检查失败
Adding x-pack enabled Elasticsearch behind AWS application load balancer causing health check failure due to missing authentication
我在我的 elasticsearch 节点上使用应用程序负载均衡器 (ALB) 并配置了健康检查,如图所示,健康检查工作正常,我能够使用负载均衡器访问我的 ES。
现在我添加了 x-pack 安全性,在我的情况下,即使健康检查也需要通过用户(Elastic 超级用户及其密码),然后健康检查停止工作,因为 ALB 无法通过基本身份验证,并且由于这个问题,健康检查无法正常工作,如图所示,ALB 不断注销 Elasticsearch,这反过来导致我的 Elasticsearch docker 变为 stop/start。
注意:- 如果与此问题相关,我正在使用 ES 7.7。
根据评论,问题是由于身份验证失败导致 ALB 健康检查失败 returns 401 HTTP 代码,而不是 200.
解决方法是使用401代码作为健康检查的预期代码。认证失败仍然是ES up 运行,而不是ES 失败。
我在我的 elasticsearch 节点上使用应用程序负载均衡器 (ALB) 并配置了健康检查,如图所示,健康检查工作正常,我能够使用负载均衡器访问我的 ES。
现在我添加了 x-pack 安全性,在我的情况下,即使健康检查也需要通过用户(Elastic 超级用户及其密码),然后健康检查停止工作,因为 ALB 无法通过基本身份验证,并且由于这个问题,健康检查无法正常工作,如图所示,ALB 不断注销 Elasticsearch,这反过来导致我的 Elasticsearch docker 变为 stop/start。
注意:- 如果与此问题相关,我正在使用 ES 7.7。
根据评论,问题是由于身份验证失败导致 ALB 健康检查失败 returns 401 HTTP 代码,而不是 200.
解决方法是使用401代码作为健康检查的预期代码。认证失败仍然是ES up 运行,而不是ES 失败。