레거시 Java 응용 프로그램 (Weblogic 클러스터에서 호스팅 됨)을 업그레이드하는 과정에서이 응용 프로그램의 한 섹션이 단일 페이지 응용 프로그램 (REACT)으로 교체되고 API를 통해 마이그레이션 된 백엔드 기능을 포함하는 다양한 서비스로 마이그레이션합니다. 지금까지는 모든 UI 의존성이 레거시 애플리케이션에서 포팅 될 때까지 REACT SPA는 여전히 JSP 페이지 내에서 호스팅 될 것입니다 (일부 일반적인 JSP 코드는 포팅되지 않았으므로 반응 애플리케이션을 호스팅하는 JSP 페이지에도 나타납니다).Weblogic 클러스터에서 단일 페이지 응용 프로그램에 Apache를 사용하는 방법
이 설치를 호스팅하는 인프라는 현재 Apache 서버이거나 필요에 따라 Weblogic 클러스터 또는 더 새로운 서비스로 라우팅합니다. 모든 * .jsp로 페이지는 간단한 웹 로직 플러그인 블록과 클러스터에 들어간으로 웹 로직 클러스터에 프록시가 이전에 간단했다 : 새로운 SPA와 그러나
<IfModule mod_weblogic.c>
WebLogicCluster server1:port,server2:port
MatchExpression *.jsp
</IfModule>
, 나는 또한 프록시 경로의 전체 집합이 필요합니다 내 SPA가 포함 된 단일 .jsp 페이지로 이동하십시오. 내 목표는 경로 별 프록시에 있었다면, 나는 아파치 웹 로직 플러그인 쉽게 그것을 해결할 수 : 같은 URL로, 기본/newSection/URL에 대한
<Location /newSection/>
WLSRequest On
WebLogicCluster server1:port,server2:port
PathTrim /newSection/
PathPrepend SPA.jsp
DefaultFileName SPA.jsp
</Location>
그러나이 단지 작품
http://host/newSection/spa-route
http://host/SPA.jsp/spa-route
으로 분명히 유효하지 않습니다.
PathTrim, PathPrepend, 또는 내가 웹 로직 플러그인에 노력하고 아무것도 아무리 내가 하나의 URI의 경로에 의해 프록시에 노력하고 문제를 해결
(모든 http://host/SPA.jsp에 프록시 필요 SPA 라우터는 나머지를 처리합니다)RewriteRule [P]는 클러스터의 단일 URI (프록시 밸런서에서 오는 클러스터 IP)로 프록시를 허용하기 때문에 mod_rewrite와 mod_proxy를 사용하여 실험하고 있습니다. 그러나 이것은 설정하는 것이 훨씬 더 복잡합니다 (여전히 시도 중). 세션 저장 기능과 같은 것들을 직접 구현해야합니다.
특정 URI로 프록시하기 위해 mod_weblogic 플러그인을 사용하는 방법에 대한 해결책은 좋지만 mod_rewrite, mod_proxy 및/또는 mod_proxy_balancer를 사용하여 웹 로직 클러스터의 단일 URI에이 프록시를 수행하는 방법의 예는 매우 도움이 될 것입니다.