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 ?