You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache WebLogic插件:路径与表达式路由结合及单JSP跳过转发问题

解决Apache WebLogic插件的路径+表达式路由,同时排除特定监控文件

嘿,我来帮你搞定这个问题!你的核心需求是仅让/website路径下的*.jsp和*.do请求转发到WebLogic,同时让Apache直接处理/monitor/test.jsp。之前的配置没生效,主要是因为全局的MatchExpression没有和路径限制绑定,而且排除规则的优先级没处理好。

下面是适配Apache 2.4.29 + WebLogic 12.2的完整解决方案:

# 确保WebLogic模块已加载(如果你的配置里没加的话)
LoadModule weblogic_module modules/mod_weblogic.so

<IfModule mod_weblogic.c>
    # 1. 先配置监控文件的规则:让Apache直接处理,优先级最高
    <Location "/monitor/test.jsp">
        # 告诉Apache用默认文件处理器返回该文件,跳过WebLogic插件
        SetHandler default-handler
        # 如果你这个test.jsp虽然是JSP后缀但只有HTML内容,上面的指令足够;
        # 要是需要Apache解析JSP(比如有简单脚本),可以替换成:
        # SetHandler jsp-handler
    </Location>

    # 2. 配置/website路径下的转发规则:结合路径限制和后缀过滤
    <Location "/website">
        WebLogicCluster weblogic1.server.com:8080,weblogic2.server.com:8080
        # 仅匹配后缀为.jsp和.do的请求转发
        MatchExpression *.jsp
        MatchExpression *.do
        # 可选:转发出错时让Apache返回错误页,按需开启
        WLForwardOnError On
    </Location>
</IfModule>

关键细节解释:

  • 配置顺序很重要:Apache是从上到下匹配规则的,所以把监控文件的排除规则放在WebLogic转发规则前面,确保先被匹配到,不会被转发。
  • Location指令的作用:<Location "/website">会把所有以/website开头的请求纳入这个规则块,再结合MatchExpression过滤后缀,精准控制哪些请求转发到WebLogic。
  • SetHandler default-handler:这个指令强制Apache用自身的默认文件处理逻辑返回/monitor/test.jsp,完全跳过WebLogic插件的转发流程。

验证方法:

重启Apache后,分别测试:

  • 访问/monitor/test.jsp:应该直接看到Apache返回的HTML内容(不会转发到WebLogic)
  • 访问/website/index.jsp或/website/api.do:会被转发到WebLogic集群处理
  • 访问/website/about.html:由Apache直接返回,不会转发

内容的提问来源于stack exchange,提问作者Sravan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:33:19