0

Glassfish 3.1.1 と iPlanet Web Server の 2 つのインスタンスでクラスターをロード バランサーとして (同じマシン上で) 構成しました。Glassfish で提供されるテスト アプリケーションでは、すべて正常に動作します (このアプリケーションではセッション レプリケーションが有効になっています)。

しかし、自分のアプリケーションを動作させようとすると、次のような状況が発生します。特定のインスタンスのポート (つまり、28080 と 28081) でリクエストを送信すると応答しますが、ロード バランサー (ポート 81) を介してリクエストを送信しようとすると、私はエラー 404 が発生します。私のアプリケーションではまだセッション レプリケーションが有効になっていませんが、接続を確立し、インスタンスごとに別の 2 つのセッションを作成できます。ロードバランサーでも同様の効果を得たいと思います。

だから私は決定したいと思います:

  1. ロード バランサが正常に機能するためには、セッション レプリケーションが強く必要ですか?
  2. このエラーの他の理由を知っている人はいますか?

iPlanet ログからのメッセージ:

[23/Aug/2012:05:44:16] failure ( 4120) myHost: for host 127.0.0.1 trying to GET /myApp/login.jsp, service-j2ee reports: PWC6117: File "c:/webserver7/https-myHost/docs/myApp/login.jsp" not found

追加の結論:

(81 - iPlanet の http リスナー ポート)

送信するとGET http://localhost:81/testApp、ロードバランサーはそれをグラスフィッシュに渡し、正しいサイトを返します。しかし、テスト アプリケーションで同じことを試してみると、GET http://localhost:81/myAppiPlanet は独自のリソース (上記のログの docs ディレクトリ) でこのサイトを探します。

myHost-obj.conf のフラグメント:

<Object name="default">
AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"
NameTrans fn="name-trans-passthrough" name="lbplugin" config-file="C:/WebServer7/https-myHost/config/loadbalancer.xml"
NameTrans fn="assign-name" name="perf" from="/.perf"
NameTrans fn="ntrans-j2ee" name="j2ee"
NameTrans fn="pfx2dir" from="/mc-icons" dir="C:/WebServer7/lib/icons" name="es-internal"
PathCheck fn="uri-clean"
PathCheck fn="check-acl" acl="default"
PathCheck fn="find-pathinfo"
PathCheck fn="find-index-j2ee"
PathCheck fn="find-index" index-names="index.html,home.html,index.jsp"
ObjectType fn="type-j2ee"
ObjectType fn="type-by-extension"
ObjectType fn="force-type" type="text/plain"
Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common"
Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file"
Service method="TRACE" fn="service-trace"
Error fn="error-j2ee"
AddLog fn="flex-log"
</Object>
4

1 に答える 1

0

まず、Load Balancerプラグインを実行している場合は、サポート契約を結んでいる可能性があります(プラグインを本番環境に移行する前に、GlassFishライセンスが必要です)。もしそうなら、サポートを呼び出すことは良いオプションです。

最初の質問に答えるために、ロードバランサーが機能するためにセッションレプリケーションは必要ありません。

恥知らずなプラグとして、私はこれを設定するための5部構成のYouTubeシリーズを持っています。ダウンロードとインストールに関するビデオをスキップして、セットアップ/構成/テストに直接進むことができます。あなたの説明に基づくと、問題はプラグイン自体ではなく、loadbalancer.xmlの構成にあると思われます。loadbalancer.xmlを見て、myAppが構成されているかどうかを確認します。

お役に立てれば。

于 2012-08-23T17:26:53.000 に答える