1

Я настроил сервер eureka в кластере ECS и использовал балансировку нагрузки приложения для своего сервиса. Эврика настроена на прием аутентификации с использованием файла свойств, как показано ниже.Ошибка проверки работоспособности сервера Eureka в ADS Application Load Balancer

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

В балансировки нагрузки я создал целевую группу для эврика на порт 8761. И я дал URL для проверки здоровья «/». Но проверка работоспособности балансира нагрузки не выполняется со следующей ошибкой.

Health checks failed with these codes: [401] 

Это указывает, что ALB не может пройти проверку работоспособности из-за аутентификации. (Удаление части аутентификации работает, но вызывает некоторые другие ошибки). Есть ли способ пройти проверку здоровья в ALB?

ответ

2

URL-адреса, используемые с проверками работоспособности ALB, должны возвращать значение от 200 до 399. Кроме того, ваш ALB должен быть настроен с допустимыми значениями ответа.

Источник: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html

Все остальное приведет к неудаче:

  • 401 приведет к неудаче.
  • 301 с ALB, не настроенным для 301 в состоянии ОК, приведет к сбою.

Чтобы пройти проверку работоспособности ALB, вы должны указать URL-адрес, который может вернуть приемлемый код состояния. Это может быть путь, предназначенный для проверки работоспособности, например /System/Check/.

+0

Вы можете настроить ELB/ALB для приема других кодов возврата. Например, вы можете рассматривать перенаправление 301 как здоровый ответ. Конечно, в этом случае 401 не звучит как здоровый код возврата. –

+0

Classic ELB установлен на 200. ALB настраивается между 200 и 399. Я обновил свой ответ. –

+0

Спасибо за разъяснение и ссылку на документацию. Я забыл, что вы не можете редактировать это на классическом ELB. И я не понимал, что в ALB существует ограничение диапазона. Всплывающая подсказка в консоли AWS звучит так, будто она принимает любое значение. –