Балансировка нагрузки с использованием nginx, проблема с отказоустойчивостью сети

#nginx #load-balancing #high-availability

#nginx #балансировка нагрузки #высокая доступность

Вопрос:

Я использую nginx для балансировки нагрузки моего приложения. Я определил кластер как

     upstream app_cluster {
        server 123.101.10.15:8080;      # Node.js instance 1
        server 123.101.10.16:8080 backup;      # Node.js instance 2
   }
  

Я провожу тестирование сбоя сети. Допустим, я отключаю кабель локальной сети от
123.101.10.15 система.

Я получаю 403 при доступе к приложению с использованием IP-адресов nginx. И мой запрос не доходит до 123.101.10.16 .

Все запросы завершаются ошибкой.

Кто-нибудь может мне помочь в этом?

Заранее спасибо

Комментарии:

1. Что произойдет, если вы попытаетесь получить доступ http://123.101.10.16:8080 напрямую? Я подозреваю, что вы получите ошибку 403. Если это так, убедитесь, что NGINX имеет необходимые разрешения для доступа Node.js . Ваша конфигурация балансировки нагрузки (отработки отказа) в порядке.

2. @KeenanLawrence : Даже 123.101.10.16: 8080 также выдает 403.

3. Ладно, это хорошо. Теперь мы знаем, что проблема связана с вашим вторым сервером. Это проблема с разрешениями. Посмотрите на права доступа к каталогам и файлам, а также на права собственности вашего приложения Node на первом сервере и реплицируйте их на своем втором сервере. В зависимости от среды NGINX может быть запущен от имени другого пользователя на сервере 16, а не на сервере 15, поэтому обязательно примите это во внимание.

4. @KeenanLawrence: Как только локальная сеть заработает, я смогу получить доступ и ко 2-му узлу. Я не знаю, как это ведет себя.

5. @KeenanLawrence: Как только локальная сеть заработает, я смогу получить доступ как к узлу напрямую, так и к приложению, используя IP-адрес nginx