抱歉,如果这个问题看起来很愚蠢(可能 ^^),我是 HTTP 服务器的新手。
我们使用 OBIEE 11g,这意味着我们有 Weblogic,并且我们选择在前端使用 Oracle HTTP Server(OHS,基于 Apache 构建)。OHS 用于mod_wl_ohs
与 Weblogic 交互,以下是mod_wl_ohs.conf
文件:
## Fusion Applications Name Based Virtual Host Configuration
RedirectMatch 301 ^/analytics$ /analytics/
RedirectMatch 301 ^/AdminService$ /AdminService/
LoadModule weblogic_module "${ORACLE_HOME}/ohs/modules/mod_wl_ohs.so"
# global plugin-options
WLForwardUriUnparsed ON
KeepAliveEnabled ON
KeepAliveSecs 20
DynamicServerList OFF
WLProxySSL ON
## Context roots for BI EE
<Location /analytics >
SetHandler weblogic-handler
WebLogicCluster miaibv194.mia.michelin.com:9704
</Location>
## Context roots for AdminService
<Location /AdminService >
SetHandler weblogic-handler
WebLogicCluster miaibv194.mia.michelin.com:7001
</Location>
如果我理解正确的话,RedirectMatch 和相应的 Location 指令(即使我不完全了解这两者的责任)用于将/analytics
和之类的 URL 传递/AdminService
给 Weblogic。
我想知道如何将 HTTP 错误 500 从 URL 重定向/analytics
到自定义页面:这可能吗?我查看了该ErrorDocument
指令,但从我看到的情况来看,它似乎只能用于物理路径(例如在指令下Directory
),我是否遗漏了什么?
谢谢您的帮助,如果还有疑问请随时向我询问(我会尽力回答)!
答案1
好吧,我最初试图实现的是自定义 OBIEE 11g 中的 HTTP 错误 500(在我们的例子中使用 WebLogic 和 OHS)。我打开了一个 SR 尝试使用 OHS 实现这一点,但失败了(Oracle 的人告诉我我必须在应用程序级别执行此操作),所以我打开了一个新的 SR 来使用 WebLogic 本身执行此操作,它给出了以下结果:
• 在 Oracle BI 主目录中找到 analytics.ear。它将是 /Oracle_BI1(或您在安装时选择的任何 Oracle BI 主目录名称)/bifoundation/analytics.ear。因此,在我们的示例场景中,它将位于:C:\OBI\Oracle_BI1\bifoundation\jee\analytics.ear • 制作 ear 文件的备份副本,以便您在需要时有一个可以参考(并恢复)的还原点。请注意,我们不支持更新 analytics.ear 文件,您必须停止并删除以前的 analytics.ear 文件,然后再部署新的文件。
• 使用 Java jar 工具将 analytics.ear 文件解压到临时位置。使用命令行选项 xvf 将内容提取到当前工作目录(例如 C:\OBI\jdk160\bin\jar –xvf C:\OBI\Oracle_BI1\bifoundation\jee\analytics.ear),因此您可能需要创建一个临时目录来保存解压后的内容,并在运行命令之前切换到该目录。
ear 包含一个 META-INF 目录和两个 war 文件,analytics.war 和 analytics-ws.war
• 在 META-INF 目录中,有一个 MANIFEST.MF 文件,在文件末尾添加以下行:Weblogic-Application-Version: 11.1.1 请注意,据报告,在应用 BI 11.1.1.5.0 BP2 补丁后重新应用这些步骤时,应忽略更新 MANIFEST.MF 的这一步骤,因为新的 analytics.ear 文件没有版本控制。
• 将analytics.war 文件解压到第二个临时位置;它包含一个default.jsp 文件和五个顶级目录,其中一个名为WEB-INF。
• 在 WEB-INF 目录中,您将找到一个名为 web.xml 的现有文件。编辑 web.xml,例如添加:
<error-page>
<error-code>500</error-code>
<location>/500error.jsp</location>
</error-page>
确保没有隐藏字符,并检查引号是否适合您的平台。
• 编辑完 web.xml 后,再次使用 jar 工具重新打包 analytics.war 文件,然后将其重新打包回 analytics.ear 文件。接下来,我们需要将 analytics.ear 文件重新部署到 Weblogic
• 登录 Weblogic 管理控制台并单击“部署”
• 在左上角的更改中心,点击“锁定并编辑”
• 找到分析应用程序并点击旁边的复选框,然后点击更新按钮
• 在更新应用程序助手屏幕中,确保部署路径与刚刚更新的 ear 文件相同,如果不是,请更改路径
• 单击“下一步”,然后单击“完成”
• 在左上角的更改中心,单击“激活更改”以保存更改。如果您尚未这样做,请重新启动 Weblogic 管理服务器和所有托管服务器