apache 配置将 https 重定向到 http weblogic 模块

apache 配置将 https 重定向到 http weblogic 模块

我有 3 台机器,我正在按此方式配置它们以进行工作。

机器A(https)->机器B(反向代理)->机器C(应用程序)

机器A- 安装了 SSL 证书的面向公众的负载均衡器 机器B- MachineA 的请求将被重定向到 Apache http 服务器,并使用 mod_wls 转发到应用程序服务器 机器C- 部署应用程序的 Weblogic 应用程序服务器

我已经配置了我的机器Bhttp 配置如下:

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 错误。

我的配置是机器B如何处理这个问题?

答案1

您正在使用处理程序将属于 mod_proxy 的 proxypass 指令与属于 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>

相关内容