2

JBoss を初めて使用し、いくつかのアプリケーションを構成しています。私はApache Webサーバーでこれを行う方法を知っていますが、Jbossを使用していません.

Redhat ボックスの JBoss 4.2 に 3 つのアプリケーションを正常にデプロイしました。

サーバーの名前が fruit.mycompany.com の場合、次の方法で 3 つのアプリにアクセスできます。

http://fruit.mycompany.com:8080/quince
http://fruit.mycompany.com:8080/pineapple
http://fruit.mycompany.com:8080/lime

次に、サーバー フルーツのエイリアスである 3 つのサブドメインを作成しました。

http://quince.mycompany.com
http://pineapple.mycompany.com
http://lime.mycompany.com

各サブドメインが対応するアプリケーションを指すようにするにはどうすればよいですか?

http://quince.mycompany.comが実際にhttp://fruit.mycompany.com:8080/quinceを開くようにします。

Apache では、VirtualHost タグを使用して、各サブドメインが正しいドキュメント ルートを指すようにします。JBoss や Tomcat ではどうすればいいですか?

リダイレクトでそれを行うことはできますか (Tomcat には mod_rewrite のようなものがあります)?

4

3 に答える 3

1

私はTomcatをあきらめました。

状況は複雑になりすぎました。
すでにポート80(JBossの別のインスタンス)で実行されているWebサイトがあります。
マルメロ、パイナップル、ライムの3つのアプリケーションを、ポート8080の独自のJBossインスタンスで実行しています。

私の問題を解決するために、ポート80で実行されているWebサイトのインデックスページにjavascript関数を記述しました。

場所をチェックして、呼び出されているドメインを確認してから、ポート8080の適切なWebサイトにリダイレクトします。

スクリプトは次のようになります。

var whois=location+" ";
if (whois.indexOf("quince.mycompany.com") > -1)
{ 
    setTimeout('window.location.replace("http://quince.mycompany.com:8080/quince/");', 10);     
    exit;
}
if (whois.indexOf("lime.mycompany.com") > -1)
{ 
    setTimeout('window.location.replace("http://lime.mycompany.com:8080/lime/");', 10);     
    exit;
}
...
// otherwise redirect to the app running on port 80
setTimeout('window.location.replace("http://fruit.mycompany.com/otherapp/");', 10);  

それは私が望んでいたものではありませんが、少なくとも私のユーザーはショートカットURLを持っており、ポート番号を覚えておく必要はありません 。http://lime.mycompany.comは-> http://lime.langaraにリダイレクトします。 bc.ca:8080/lime

于 2009-10-29T16:56:48.137 に答える