У меня есть 3 приложения (приложение-приложение, приложение-приложение, приложение-b), работающие на сервере причала и одном балансировщике нагрузки NGINX (приложение-фунт). Все (внутренние или внешние) запросы поступают в мое приложение через балансировщик нагрузки. На основе имени веб-контекста (/ app-a/or/app-b /) LB отправит запрос правильному приложению. Я настроил (location/app-a/и location/app-b и location/app-client) в LB. app-a вызовет приложение-b и приложение-b вызовет приложение-a, приложение-клиент будет вызываться из внешнего мира, приложение-клиент вызовет app-a или app-b.Конфигурация местоположения Docker jwilder/nginx-proxy
Я написал Docker-composer для своего приложения. Чтобы избежать циклической зависимости, я использовал Docker net. он работает хорошо.
Если я увеличил свое приложение. LB не знает об этом новом контейнере приложения.
Я прошел несколько учебников и пытался использовать jwilder/nginx-proxy вместо NGINX. если я использую это с помощью переменной VIRTUAL_HOST = app-name, она обновляется вверх по потоку в файле конфигурации. Но мое приложение выполняется на основе сопоставления местоположений для каждого контейнера. Если я не укажу, как запрос будет отправляться на правильный контейнер.
Как указать отображение местоположения в файле default.conf LB, как показано ниже, поскольку эта конфигурация обновляется контейнером динамически или, как сделать внутренние URL-адреса.
location /app-a {
proxy_pass http://app-a;
}
location /app-client {
proxy_pass http://app-client;
}
location /app-b {
proxy_pass http://app-b;
}
Request from outside: http://IP:9090/app-client/
Internal call : http://app-lb:80/app-a/
http://app-lb:80/app-b
LB exposed port no is 9090
Я планирую использовать dockercloud-haproxy. он имеет ВИРТУАЛЬНЫЙ ПУТЬ и ХОЗЯИН. пожалуйста, предложите мне об этом – Gnana
Вопрос был выше для nginx-прокси jwilder, на который я ответил здесь. У меня нет совета для dockercloud-haproxy, это будет другой вопрос. – BMitch