나는 3 (응용 프로그램 클라이언트, 응용 프로그램-A, 앱 b)는 응용 프로그램이 부두 서버와 하나의 nginx 부하 분산 (응용 프로그램 파운드)에서 실행되고 있습니다. 모든 (내부 또는 외부) 요청은로드 밸런서를 통해 내 응용 프로그램에 전달됩니다. 웹 컨텍스트 (/ app-a/또는/app-b /) 이름에 따라 LB는 요청을 올바른 응용 프로그램으로 전달합니다. LB (location/app-a/및 location/app-b 및 location/app-client)를 구성했습니다. app-a는 app-b를 호출하고 app-b는 app-a를 호출하고 app-client는 외부에서 호출되며 app-client는 app-a 또는 app-b를 호출합니다.부두 노동자의 jwilder/nginx를 프록시 위치 구성
나는 내 응용 프로그램에 대한 도커 - 작곡가를 작성했습니다. 순환 종속성을 피하기 위해 Docker net을 사용했습니다. 그것은 잘 작동하고 있습니다. 내 응용 프로그램을 확장 할 경우
. LB는이 새로운 응용 프로그램 컨테이너에 대해 알지 못합니다.
자습서가 거의없고 NGINX 대신 jwilder/nginx-proxy을 사용하려고했지만 사라졌습니다. 나는 VIRTUAL_HOST = 앱 이름 변수가 구성 file.But 상류 업데이트됩니다를 사용하여 내 응용 프로그램이 요청이 컨테이너를 수정 갈 것 어떻게 지정하지 않은 각 container.if에 대한 위치 매핑을 기반으로 실행되는 것을 사용하는 경우.
LB의 default.conf 파일에 위치 매핑을 지정하는 방법은 다음과 같습니다.이 구성은 컨테이너에 의해 동적으로 업데이트되었으므로 또는 내부 통화 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
위 질문은 jwilder의 nginx-proxy에 대한 질문입니다. 나는 dockercloud-haproxy에 대한 조언이 없기 때문에 그것은 다른 질문 일 것입니다. – BMitch