Проверка работоспособности AWS ELB при использовании nginx и TCP

У меня есть среда elasticbeanstalk, которая использует nginx в качестве внешнего сервера для приложения node.js.

Среда использует эластичный балансировщик нагрузки, настроенный для приема подключений по TCP: 80 / SSL: 443 и пересылки обоих в экземпляр nginx по TCP: 8080. Я использую TCP / SSL + ProxyProtocol вместо HTTP / HTTPS для поддержки веб-сокетов.

AWS ELB не позволяет мне использовать URL-адрес для проверки работоспособности из балансировщика нагрузки при использовании TCP. Мне нужно использовать его, иначе он проверяет только, слушает ли nginx 8080, а не работает ли мое приложение node.js.

Я ищу идеи, чтобы заставить его работать. Цель состоит в том, чтобы ПОЛУЧИТЬ мой URL-адрес проверки работоспособности приложения node.js и заставить AWS ELB пометить экземпляр как неработоспособный, если статус URL-адреса проверки работоспособности не равен 200.

Моя текущая идея - попробовать воспользоваться поддержкой nginx для проверок работоспособности так что это идет против nodejs, и если он обнаруживает, что приложение неработоспособно, прекратите прослушивание соединений на 8080, чтобы ELB пометил экземпляр как нездоровый. Может быть, будет достаточно запустить команду, когда nginx обнаруживает исправные / нездоровые экземпляры.

Возможно ли это? Есть ли другие идеи?

1
задан 23 March 2016 в 22:38
1 ответ

Конфигурация проверки работоспособности балансировщика нагрузки не зависит от конфигурации конечной точки прослушивателя, поэтому вы можете без проблем настроить проверку работоспособности балансировщика нагрузки с HTTP: 8080 / index.html .

Не уверен, о чем я думал ...

3
ответ дан 3 December 2019 в 18:35

Теги

Похожие вопросы