Webサーバーと、アプリケーションサーバー(現在検討しているのはWebSphere)で、listenしているポートが違うのは当たり前ですが、

Webサーバー(port80)にアクセスしてきたクライアントが、
アプリケーションサーバー(port9080)のアプリを動かせる
のはどのような仕掛けを使うのでしょうか?
plug-inなどもあるようですが、xmlでピンときません。
いい資料などありましたら教えて下さい。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/03/23 18:33:53
  • 終了:2006/03/28 19:27:42

ベストアンサー

id:kishiro No.2

kishiro回答回数161ベストアンサー獲得回数42006/03/24 02:47:10

ポイント38pt

仕掛けは、WebServerで一度受けたhttp requestをApplicationServerに転送しているだけです。

ApplicationServer自体のlisten portを80にすることもできますが

WebServerとの連携によって、

ApplicationServerは動的コンテンツの処理に集中し、

WebServerに画像やHTMLなどの静的コンテンツを任せられるので

マシンを別々にして負荷分散をしやすくなります。

http://www-06.ibm.com/jp/software/websphere/ft/was/index.htm...

この仕掛けを使うためには、WebServer側にPlug-in moduleを導入する必要があります。

これはWebSphereでも、Tomcatでも同じです。

ApacheとWebSphereの組み合わせ場合、下記が参考になると思います。

http://f23.aaa.livedoor.jp/~strobe/wikitech/pukiwiki.php?Web...

id:Daigo

やはりプラグインが設定に沿って裏方(ApplicationServer)に転送してるんですよね。

80をApplicationServerに渡してしまうのも手なんでしょうが、そうなると

httpサーバーが要らなくなってしまいますし、静的ページもApplicationServerに

やらせるので非効率かと思います。

どうやらApplicationServerのプラグインの設定ファイル(plugin.xml)を編集し、

特定のURIや拡張しにパターンマッチングさせるほういほうがあるらしいので、

そちらでアプローチしてみます。

重複する設定("/*"と"/*.JSP")があると動きが怪しいらしいので、それも

チェックしてみます。

ありがとうございます。

2006/03/28 19:26:15

その他の回答(2件)

id:shun262 No.1

shun262回答回数95ベストアンサー獲得回数32006/03/23 23:03:51

ポイント23pt

WebSphereは使ったことが無いのでプラグインのコメントは出来ませんがお役に立てればと。

アプリケーションサーバがHTTPを返す場合、単純にリンクにhttp://サイトドメイン:9080/ではダメでしょうか。

Webサーバがアプリケーションサーバを起動するのでしたら、CGIなどでlocalhost:9080に接続すればよいでしょう。

また、80番ポート内でWebサーバとアプリケーションサーバの両方にアクセスしたいなら、80番ポートでリバースプロキシをListenして、ルートディレクトリなら例えば8080番ポートのApacheなどに、appディレクトリなら9080番のアプリケーションサーバにプロキシするのが有用だと思われます。

http://e-words.jp/w/E383AAE38390E383BCE382B9E38397E383ADE382...

id:Daigo

一応、直接ApplicationServerに繋がる9080を使えばアクセス出来るのですが、

出来ればApplicationServerを隠蔽してhttpサーバーの裏方にしたいんです。

しかし、リバースプロキシ使う追う方法は思いつきもしませんでした。

今回その方法で行くかどうか判りませんが、非常に参考になりました。

ありがとうございます。

2006/03/28 19:25:52
id:kishiro No.2

kishiro回答回数161ベストアンサー獲得回数42006/03/24 02:47:10ここでベストアンサー

ポイント38pt

仕掛けは、WebServerで一度受けたhttp requestをApplicationServerに転送しているだけです。

ApplicationServer自体のlisten portを80にすることもできますが

WebServerとの連携によって、

ApplicationServerは動的コンテンツの処理に集中し、

WebServerに画像やHTMLなどの静的コンテンツを任せられるので

マシンを別々にして負荷分散をしやすくなります。

http://www-06.ibm.com/jp/software/websphere/ft/was/index.htm...

この仕掛けを使うためには、WebServer側にPlug-in moduleを導入する必要があります。

これはWebSphereでも、Tomcatでも同じです。

ApacheとWebSphereの組み合わせ場合、下記が参考になると思います。

http://f23.aaa.livedoor.jp/~strobe/wikitech/pukiwiki.php?Web...

id:Daigo

やはりプラグインが設定に沿って裏方(ApplicationServer)に転送してるんですよね。

80をApplicationServerに渡してしまうのも手なんでしょうが、そうなると

httpサーバーが要らなくなってしまいますし、静的ページもApplicationServerに

やらせるので非効率かと思います。

どうやらApplicationServerのプラグインの設定ファイル(plugin.xml)を編集し、

特定のURIや拡張しにパターンマッチングさせるほういほうがあるらしいので、

そちらでアプローチしてみます。

重複する設定("/*"と"/*.JSP")があると動きが怪しいらしいので、それも

チェックしてみます。

ありがとうございます。

2006/03/28 19:26:15
id:sukesam No.3

sukesam回答回数8ベストアンサー獲得回数02006/03/24 01:44:43

ポイント19pt

WebSphereは分かりませんが、恐らくApache + tomcatと同じ仕組みだと思います。

apacheとtomcatの説明ではここの2番が該当しますね。説明が書いてありますがWebサーバアダプタというものを介して通信しています。Apacheのモジュールです。

私も知らなかったのですが3番のTCP/IPでも通信できるらしいですね。

id:Daigo

tomcatもやはりアダプタ(プラグイン)を使って裏方に投げてるんですね。。。

いろいろ製品があるのは知っていましたが、基本的な考え方は同じっぽいですね。

ありがとうございます

2006/03/28 19:26:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません