
Я работаю над настройкой Nginx в качестве балансировщика нагрузки и обратных прокси-запросов к приложению Node на другом дроплете. У меня есть два дроплета Digital Ocean (Ubuntu 18.04 для обоих) и я включил частную сеть. Мои дроплеты находятся в одном регионе.
Могу ли я использовать частный IP-адрес для server
IP в блоке конфигурации upstream в моем файле 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"
Когда я просматриваю журналы приложений Node, я не вижу никакой активности.
После SSH-подключения к моему дроплету балансировщика нагрузки я не могу выполнить ping или telnet ко второму дроплету. Может ли это быть проблемой брандмауэра? Если да, то какова будет общая конфигурация входящих/исходящих правил для связи между дроплетами?
На основе документации я бы подумал, что эти два экземпляра виртуальных частных серверов могли бы общаться друг с другом, поскольку они находятся в одном регионе. Я решил включить частную сеть при подготовке этих экземпляров. Частная сеть должна быть полностью настроена.