0

我有以下配置:

  • 带有一些已部署应用程序的 Websphere ND 8.0;
  • IHS(IBM HTTP 服务器)8.0;
  • Web 服务器插件 8.0;

所有部署的应用程序都有一些独特的根上下文。我需要为其中一些更改此根上下文。例如,我有一个以下链接 - http//host:port/app1/index.jsp,其中 app1 是根上下文。我需要通过以下链接使其工作http//host:port/cust/app1/index.jsp。(如果修改后旧链接失效会更好)。

我试图在没有 IHS 层的情况下达到这一点。WAS 确实允许更改根上下文,这非常容易。问题是部署的应用程序使用直接映射到其内部资源中的根上下文。(即一些 app1 的资源,如 JS、HTML...,包含直接指向 /app1/...)。在这种情况下,根上下文的简单更改是不合适的。我需要手动更改所有此类内部资源。我知道这是糟糕的实现,但这就是我所拥有的。这个解决方案绝对不是最好的,但至少它有效。

我需要做同样的事情(嗯,不一样。结果应该是一样的)但现在使用 IHS。我不熟悉 IHS 安装\配置。这是我对其工作原理的理解:

客户端->IHS->WAS(应用程序)

IHS 通过mod_was_ap22_http插件与 WAS 通信,其中plugin-cfg.xml显示要处理的 URL 模板。(不知道具体是如何工作的)

*基本上 Clent 发送以下请求 - http//IHS_host:port/app1/index.jsp

*IHS 通过 mod_was_ap22_http 启动该请求的进程。

*如果请求与 plugin-cfg.xml 规则匹配,那么它会转到 WAS。

一直以来,根上下文都是app1。是否可以配置 IHS 以更改原始根上下文,并使客户端仅通过新的根上下文工作?结果用户不应该看到http//IHS_host:port/app1/*,他应该只看到http//IHS_host:port/cust/app1/*

4

1 回答 1

1

在 WAS WebServer 插件看到请求之前,您可以使用带有 [PT] 标志的 mod_rewrite 将 /cust/app1 更改为 /app1/:

RewriteRule 上的 RewriteEngine ^/cust(/app1/.*) $1 [PT]

http://publib.boulder.ibm.com/httpserv/ihsdiag/plugin_alter_uri.html

于 2013-09-22T16:14:20.227 回答