I have a apache http server that acts as proxy to connect to backened app servers.
e.g. MachineA(https) -> MachineB(reverseproxy) -> MachineCn(App)
Here MachineA(Public_lb) port 9002 is mapped with MachineB(internal apache) port 7777.
In backened, I have different application servers running
for e.g.
- MachineC1 -> Weblogic
- MachineC2 -> Tomcat
- MachineC3 -> NodeJS
- MachineC4 -> Flask
Here there is single servername(MachineA: public_facing_lb) and port(9002). Here is my existing configuration in MachineB(apache reverseproxy server)looks like which works fine now for all weblogic connections. But when I add the proxy for other apps, it never works properly.
What I am doing wrong here ?
LoadModule weblogic_module "/u01/oracle/ohssa/ohs/modules/mod_wl_ohs.so" RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^$ http://%{HTTP_HOST} [L,R] <IfModule mod_weblogic.c> NameVirtualHost *:7777 <VirtualHost *:7777> ServerName https://public_facing_lb:9002 RewriteEngine On RewriteOptions inherit RewriteRule ^/$ /pod/reactaphome [PT] Debug ALL MatchExpression / DebugConfigInfo ON WLLogFile /var/log/httpd/wlproxy-qa.log KeepAliveEnabled ON KeepAliveSecs 15 WLProxySSLPassThrough ON ProxyPreserveHost On <Location /pod/reactapp1> ProxyPass http://nodejssrv1:1337 ProxyPassReverse http://nodejssrv1:1337 </Location> <Location /pod/flaskapp1> ProxyPass http://flasksrv1:8080 ProxyPassReverse http://flasksrv1:8080 </Location> <Location /pod/tomcatapp1> ProxyPass http://tomcatsrv1:8080 ProxyPassReverse http://tomcatsrv1:8080 </Location> <Location /pod/console> SetHandler weblogic-handler WebLogicHost wlssrv1 WeblogicPort 7001 WLSRequest On ProxyPass http://wlssrv1:7001/console ProxyPassReverse http://wlssrv1:7001/console </Location> SetHandler weblogic-handler WebLogicHost wlssrv1 WeblogicPort 7001 ProxyPass /pod/wlsapp1 http://wlssrv1:7001/wlsapp1 ProxyPassReverse /pod/wlsapp1 http://wlssrv1:7001/wlsapp1 ProxyPass /pod/wlsapp2 http://wlssrv1:7001/wlsapp2 ProxyPassReverse /pod/wlsapp2 http://wlssrv1:7001/wlsapp2 ProxyPass /pod/wlsapp3 http://wlssrv1:7001/wlsapp3 ProxyPassReverse /pod/wlsapp3 http://wlssrv1:7001/wlsapp3 ProxyPass /wlsapphome/global http://wlssrv1:7001/resources/getGlobalAppsList ProxyPassReverse /wlsapphome/global http://wlssrv1:7001/resources/getGlobalAppsList ProxyPass /wlsapphome http://wlssrv1:7001/resources/getAppsList ProxyPassReverse /wlsapphome http://wlssrv1:7001/resources/getAppsList </VirtualHost> </IfModule> I might be doing mistake in putting the other app config inside the weblogic if module. If I am creating multiple virtual hosts, at any point of time only the first virtualhost works.
Do I need to load modules for tomcat, nodejs and flask to communicate, as the pages get loaded broken. Like mod_wl_ohs used for weblogic ?