java - AWS Application Load Balancer 中的 Eureka 服务器运行状况检查失败

标签 java amazon-web-services netflix-eureka amazon-ecs elastic-load-balancer

我在 ECS 集群中配置了一个 eureka 服务器,并为其服务使用了应用程序负载均衡器。 eureka 配置为接受使用属性文件的身份验证,如下所示。

security.user.name=xxxxx
security.user.password=yyyy

在负载均衡器中,我在端口 8761 上为 eureka 创建了一个目标组。并且我提供了用于运行状况检查的“/”url。但负载均衡器的运行状况检查失败并出现以下错误。

Health checks failed with these codes: [401]

这指定 ALB 由于身份验证而未能通过健康检查。 (删除身份验证部分可以工作,但会导致一些其他错误)。有没有办法通过ALB的健康检查?

最佳答案

用于 ALB 运行状况检查的 URL 必须返回 200 到 399 之间的值。此外,您的 ALB 必须配置为可接受的响应值。

来源:http://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html

任何其他都会导致失败:

  • 401 将导致失败。
  • 未配置 ALB 的 301 正常,将导致失败。

要通过 ALB 运行状况检查,您必须提供可以返回可接受的状态代码的 URL。可以是专门用于健康检查的路径,例如/System/Check/

关于java - AWS Application Load Balancer 中的 Eureka 服务器运行状况检查失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41717865/

相关文章:

java - Log4j 属性给出错误

java - 检查字符串是否没有任何字母而只有数字

c# - 在 C# 中访问亚马逊 MWS 上的未发货订单

amazon-web-services - AWS - 教育账户无法创建集群,EC2 权限不足

java - 如何过滤eureka注册

spring-boot - Eureka 和Kubernetes

java - 从持久性中排除@Entity

java - 在 Java 中等于 "finally"的 testNG 注释?

amazon-web-services - 如何从 AWS CloudWatch 应用程序 ELB 获取延迟指标?

spring - 为什么部署在 Docker 容器上的 Spring Cloud Netflix 应用需要显式设置 eureka.instance.hostname?