동일한 포트에서 Apache를 정적 웹 서버이자 로드 밸런서로 구성할 수 있습니까?

동일한 포트에서 Apache를 정적 웹 서버이자 로드 밸런서로 구성할 수 있습니까?

섹션을 사용하는 두 개의 Spring Boot REST 애플리케이션 간의 로드 밸런서로 Windows 2016 Server에서 Apache 2.4.7을 사용하고 있습니다 <VirtualHost *:8000>. 이것은 잘 작동합니다.

하지만 Angular 단일 페이지 애플리케이션도 있고 동일한 Apache 서버에서 해당 파일(HTML, CSS, JS 등…)을 호스팅하고 싶습니다. Angular 애플리케이션이 REST 호출을 수행하므로 동일한 포트 번호를 사용해야 합니다 8000. 그렇지 않으면 CORS 오류가 발생합니다.

내 질문은: Apache를 동일한 포트에서 정적 웹 서버이자 로드 밸런서로 구성하는 것이 어떻게 가능합니까?

답변1

특정 설정 및 세부 사항이 확실하지 않지만 일반적으로 수행하려는 작업은 설정 및 세부 사항입니다.Apache 역방향 프록시. 새 포트 등을 구성할 필요가 없습니다. 공식 Apache 문서에서는 다음과 같이 설명합니다.

"기본" 웹 서버가 되고 최종 사용자에게 정적 및 동적 콘텐츠를 제공하는 것 외에도 Apache httpd(및 대부분의 다른 웹 서버)는 "게이트웨이"라고도 알려진 역방향 프록시 서버 역할도 할 수 있습니다. " 서버.

이러한 시나리오에서 httpd 자체는 데이터를 생성하거나 호스팅하지 않지만, 일반적으로 외부 네트워크에 직접 연결되지 않는 하나 이상의 백엔드 서버에서 콘텐츠를 얻습니다. httpd가 클라이언트로부터 요청을 받으면 요청 자체는 다음과 같습니다.프록시됨백엔드 서버 중 하나에 요청을 처리하면 콘텐츠가 생성되고 이 콘텐츠가 다시 httpd로 전송됩니다. 그러면 다시 클라이언트에 실제 HTTP 응답이 생성됩니다.

따라서 귀하의 경우 Apache에 대해 알아야 할 사항은 Apache에서 특정 방식으로 작동하도록 경로와 디렉터리를 구성할 수 있다는 것입니다. 따라서 특정 구성 및 동작에 대해 하나의 URL이 작동되거나 무시될 수도 있습니다.

Apache 역방향 프록시를 구성하는 방법에 대한 자세한 내용은 다음을 참조하세요.내가 Server Fault에 게시한 이 답변을 확인하세요..

관련 정보