Я работаю над настройкой Nginx в качестве балансировщика нагрузки и обратных прокси-запросов к приложению Node в другой капле. У меня есть две капли Digital Ocean (Ubuntu 18.04 для обеих), и я включил частную сеть. Мои капли находятся в том же регионе.
Могу ли я использовать частный IP-адрес для server
IP в блоке конфигурации восходящего потока в моем файле nginx.conf? В моем приложении node запущен express js на порту 3000.
upstream nodeApiApp {
server 10.1.2.150:3000 fail_timeout=0;
keepalive 60;
}
В настоящее время я не могу заставить эти две капли общаться. Не могли бы вы дать мне подсказку, в чем может быть проблема?
На веб-странице отображается эта ошибка: 504 Gateway Time-out
. При отслеживании журналов ошибок для nginx я вижу следующую ошибку:
2019/07/20 21:53:59 [error] 3136#3136: *1165 upstream timed out (110:
Connection timed out) while connecting to upstream, client: 68.12.133.91, server: api.example.com, request: "GET / HTTP/2.0", upstream: "http://10.1.2.150:3000/", host: "api.example.com"
Когда я просматриваю журналы приложения узла, я не вижу никакой активности.
После подключения по SSH к моей капле балансировщика нагрузки я не могу выполнить ping или telnet для моей второй капли. Может быть проблема в брандмауэре? Если да, то какой будет общая конфигурация правил для входящего / исходящего трафика для прямой связи?
Основываясь на документации, я мог подумать, что эти два экземпляра виртуальных частных серверов могли бы взаимодействовать друг с другом, поскольку они находятся в одном регионе. Я решил включить частную сеть при подготовке этих экземпляров. Частная сеть должна быть полностью настроена.