1

ECS 클러스터에 유레카 서버를 구성하고 서비스로드 밸런서를 사용했습니다. eureka는 아래와 같이 등록 정보 파일을 사용하여 인증을 허용하도록 구성됩니다. 로드 밸런서에서 AWS 응용 프로그램로드 밸런서에서 유레카 서버 상태 확인이 실패합니다.

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

내가 포트 8761.에서 유레카의 대상 그룹을 생성 그리고 난 상태 검사에 대한 '/'URL을했다. 그러나로드 밸런서의 상태 확인은 다음 오류와 함께 실패합니다.

Health checks failed with these codes: [401] 

이것은 인증 때문에 ALB가 상태 검사를 통과하지 못하게 지정합니다. (인증 부분 제거는 작동하지만 다른 오류가 발생합니다). ALB에서 건강 진단을 통과 할 수있는 방법이 있습니까?

답변

2

ALB 상태 확인에 사용되는 URL은 200에서 399 사이의 값을 반환해야합니다. 또한 ALB는 허용 가능한 응답 값으로 구성되어야합니다.

출처 : 다른 http://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html

무엇이든은 고장의 원인이됩니다

  • (401)는 고장의 원인이됩니다.
  • 301이 ALB가 301로 구성되지 않은 경우 301 오류가 발생합니다.

ALB 상태 검사를 통과하려면 허용 가능한 상태 코드를 반환 할 수있는 URL을 제공해야합니다. 상태 확인 전용 경로 (예 : /System/Check/) 일 수 있습니다.

+0

다른 리턴 코드를 허용하도록 ELB/ALB를 구성 할 수 있습니다. 예를 들어 301 리디렉션이 정상적인 응답으로 간주 할 수 있습니다. 물론이 경우 401은 정상적인 리턴 코드처럼 들리지 않습니다. –

+0

클래식 ELB는 200으로 고정되어 있습니다. ALB는 200 ~ 399 사이에서 구성 할 수 있습니다. 제 답변을 업데이트했습니다. –

+0

설명 및 문서 링크를 제공해 주셔서 감사합니다. 고전 ELB에서 편집 할 수 없다는 사실을 잊어 버렸습니다. 그리고 ALB에 범위 제한이 있다는 것을 깨닫지 못했습니다. AWS 콘솔의 툴팁은 어떤 값이라도 받아들이 듯 소리가납니다. –