섹션을 사용하는 두 개의 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에 게시한 이 답변을 확인하세요..