Назад | Перейти на главную страницу

конфигурация apache для перенаправления https на модуль http weblogic

У меня есть 3 машины, которые я настраиваю таким образом для работы.

MachineA(https) -> MachineB(обратный прокси) -> MachineC(Приложение)

MachineA - Общедоступный балансировщик нагрузки, на котором установлен SSL-сертификат MachineB - HTTP-сервер Apache, на который будет перенаправлен запрос от MachineA и перенаправлен на сервер приложений с помощью mod_wls MachineC - Сервер приложений Weblogic, на котором развернуто приложение

Я настроил свой MachineB http config следующим образом:

LoadModule weblogic_module modules/mod_wl.so
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^$ http://%{HTTP_HOST} [L,R]

<IfModule mod_weblogic.c>
    ProxyPreserveHost   On
    RewriteEngine       On
    WebLogicCluster wlsrv:7001
    Debug ALL
    MatchExpression /
    DebugConfigInfo ON
    WLLogFile /var/log/wlproxy-qa.log
 <Location /console>
    SetHandler weblogic-handler
    ProxyPass http://wlsrv:7001/console
    ProxyPassReverse http://wlsrv:7001/console
 </Location>
 <Location /App1>
    SetHandler weblogic-handler
    ProxyPass http://wlsrv:7001/App1
    ProxyPassReverse http://wlsrv:7001/App1
 </Location>
</IfModule>

Запросы поступают из приложения для доступа к первой веб-странице, но после этого URI не пересылается правильно и выдает 400.

Моя конфигурация MachineB правильно справиться с этим?

Вы смешиваете директивы proxypass, принадлежащие mod_proxy, с директивами, принадлежащими плагину weblogic, через обработчик.

Правильная конфигурация выглядит следующим образом (адаптируется к вашей конфигурации):

LoadModule weblogic_module modules/mod_wl.so
<IfModule mod_weblogic.c>
    WebLogicCluster wlsrv:7001
    Debug ALL
    DebugConfigInfo ON
    WLLogFile /var/log/wlproxy-qa.log
 <Location /console>
    SetHandler weblogic-handler
 </Location>
 <Location /App1>
    SetHandler weblogic-handler
 </Location>
</IfModule>