私は次の構成を持っています:
- デプロイされたアプリケーションを含む 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 ではルート コンテキストを変更できますが、これは非常に簡単です。問題は、デプロイされたアプリが内部リソース内のルート コンテキストへの直接マッピングを使用することです。(つまり、JS、HTML などの一部の app1 のリソースには、/app1/... への直接の参照が含まれています)。この場合、ルート コンテキストの単純な変更は適切ではありません。このような内部リソースはすべて手動で変更する必要があります。私はこれが貧弱な実装であることを知っていますが、それは私が持っているものです. このソリューションは間違いなく最善ではありませんが、少なくとも機能します。
私は同じことをする必要があります(まあ、同じではありません。結果は同じはずです)が、今はIHSを使用しています。IHS のインストール\構成に詳しくありません。これがどのように機能するかについての私の理解です:
クライアント -> IHS -> WAS (アプリケーション)
IHS は、mod_was_ap22_httpプラグインを介して WAS と通信しました。ここで、plugin-cfg.xmlは、処理される URL テンプレートを示しています。(具体的にどのように機能するかはわかりません)
*基本的にクレントは次のリクエストを送信します - http//IHS_host:port/app1/index.jsp
.
*mod_was_ap22_http を介して要求する IHS 開始プロセス。
*要求が plugin-cfg.xml ルールに一致する場合、要求は WAS に送られます。
今回は常にルート コンテキストはapp1でした。元のルート コンテキストを変更するように IHS を構成し、クライアントが新しいルート コンテキストのみを介して動作するようにすることは可能ですか? 結果ユーザーhttp//IHS_host:port/app1/*
には が表示されないため、 のみが表示されます。http//IHS_host:port/cust/app1/*