Im Rahmen der Aktualisierung einer Legacy-Java-Anwendung (im Weblogic-Cluster gehostet) wird ein Abschnitt dieser Anwendung durch eine einzelne Seitenanwendung (REACT) ersetzt über eine API zu verschiedenen Diensten, die migrierte Backend-Funktionalität enthalten. Für den Moment, bis alle UI-Abhängigkeiten von der Legacy-Anwendung portiert sind, wird der REACT SPA weiterhin in einer JSP-Seite gehostet (einige gängige JSP-Codes wurden nicht portiert und sind daher auf der JSP-Seite vorhanden, auf der die reaktive App gehostet wird).Verwendung von Apache als Proxy für eine Einzelseitenanwendung im Weblogic-Cluster
Die Infrastruktur, die dieses Setup hostet, ist derzeit ein Apache-Server, der je nach Bedarf zum Weblogic-Cluster oder zu neueren Diensten routet. Proxying auf das WebLogic Cluster einfach vorher war, wie alle * .jsp Seiten mit einem einfachen weblogic Plugin Block zum Cluster weitergeleitet wurden:
<IfModule mod_weblogic.c>
WebLogicCluster server1:port,server2:port
MatchExpression *.jsp
</IfModule>
jedoch mit dem neuen SPA, ich brauche auch eine ganze Reihe von Routen zu Proxy zu einer einzelnen .jsp-Seite, die mein SPA enthält. Wenn mein Ziel nur Proxy durch Pfad war, konnte ich das leicht mit Apache weblogic Plugin lösen:
<Location /newSection/>
WLSRequest On
WebLogicCluster server1:port,server2:port
PathTrim /newSection/
PathPrepend SPA.jsp
DefaultFileName SPA.jsp
</Location>
Das funktioniert jedoch nur für die Basis/newSection/url als URL wie
http://host/newSection/spa-route
ruft
http://host/SPA.jsp/spa-route
, die offensichtlich nicht gültig ist.
Keine Menge PathTrim, PathPrepend, oder irgendetwas anderes ich versuche, für die WebLogic-Plugin löst das Problem, dass ich durch den Pfad zu einem einzelnen URI-Proxy versuchen (alles Proxy muss http://host/SPA.jsp, Griffe SPA-Router den Rest)
Ich experimentiere gerade mit mod_rewrite und mod_proxy anstatt, wie RewriteRule [P] mir erlaubt, zu einem einzelnen URI auf dem Cluster zu proxy (cluster IP kommend vom Proxy Balancer). Allerdings ist dies viel komplizierter einzurichten (immer noch versuchen), und ich muss Dinge wie Session Stickiness selbst implementieren.
Eine Lösung für die Verwendung des mod_weblogic-Plugins für den Proxy zu einem bestimmten URI wäre großartig, aber Beispiele für die Verwendung von mod_rewrite, mod_proxy und/oder mod_proxy_balancer, um dieses Proxying auf einen einzelnen URI in einem Weblogic-Cluster zu erreichen sehr hilfreich sein.