У меня есть nginx между марионеточными агентами и двумя марионеточными мастерами.скажем puppetmaster1 и puppetmaster2
, поэтому ожидаемый поток соединения составляет
puppetagent1 - >> Nginx - >> puppetmaster1 &
puppetagent2 - >> Nginx - >> puppetmaster2
puppetmaster1 и puppetagent1 работает на версии куклы - 2.7.26
puppetmaster2 и puppetagent2 работает на версии куклы - 3.6.2
Вот мой файл nginx stream.conf, который передает прокси в восходящий поток
map $ssl_preread_server_name $name {
puppetmaster1 upstream_puppetmaster1;
puppetmaster2 upstream_puppetmaster2;
}
upstream upstream_puppetmaster1 {
server core-services_puppetmaster1:8140;
}
upstream upstream_puppetmaster2 {
server core-services_puppetmaster2:8140;
}
server {
listen 8140;
ssl_preread on;
proxy_pass $name;
}
Проблема: при запуске кукольного агнета -tov на puppetagent2 Nginx перенаправляет его на upstream_puppetmaster2 и все работает нормально. Но когда на кукольном агенте запускается кукольный агнет -тов-1, выдается ошибка Nginx с приведенным ниже логом
2018/09/11 17:38:11 [info] 25#25: *3 client 10.255.0.2:51290 connected to 0.0.0.0:8140
2018/09/11 17:38:11 [error] 25#25: *3 no host in upstream "", client: 10.255.0.2, server: 0.0.0.0:8140, bytes from/to client:0/0, bytes from/to upstream:0/0
Единственная разницамежду puppetmaster1 и puppetmaster2 установлена версия
Может кто-нибудь помочь мне выяснить, почему nginx не может обслуживать запросы от puppetagent1 и передавать его puppetmaster1?Как мне этого добиться?
Заранее спасибо