У меня есть http-сервер apache, который действует как прокси для подключения к поддерживаемым серверам приложений.
например MachineA(https) -> MachineB(обратный прокси) -> MachineCn(Приложение)
Здесь порт 9002 MachineA (Public_lb) сопоставлен с портом 7777 MachineB (внутренний apache).
При поддержке у меня работают разные серверы приложений
например, для
Здесь есть одно имя сервера (MachineA: public_facing_lb) и порт (9002). Вот моя существующая конфигурация в MachineB (сервер обратного прокси-сервера apache), которая теперь отлично работает для всех подключений weblogic. Но когда я добавляю прокси для других приложений, он никогда не работает должным образом.
Что я здесь делаю не так?
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>
Возможно, я ошибаюсь, помещая конфигурацию другого приложения в модуль weblogic if. Если я создаю несколько виртуальных хостов, в любой момент времени работает только первый виртуальный хост.
Нужно ли мне загружать модули для tomcat, nodejs и flask для связи, когда страницы загружаются сломанными. Как mod_wl_ohs, используемый для веб-логики?
Ваш <Location>
не закрывается должным образом, следовательно, возможно, Apache даже не запускается должным образом. Использовать </Location>
закрывать.
Для проблемы «в любой момент времени работает только первый виртуальный хост» убедитесь, что вы указали:
NameVirtualHost *:7777
перед
<VirtualHost *:7777>
И измените ServerName
быть разным на каждом виртуальном хосте (например, appname.example.com
).