質問

のJBossへの新規およびいくつかのアプリケーションを構成しています。私は、Apacheウェブサーバでこれを行う方法を知っているが、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するのhref = "HTTP <実際に開くようにしたいです: //fruit.mycompany.com:8080/quince」のrel = "nofollowをnoreferrer"> http://fruit.mycompany.com:8080/quince を。

はApacheで、Iは、正しい文書ルートに各サブドメインを指すように仮想ホストのタグを使用します。私は、JBossやTomcatのでそれを行う方法を教えてください。

私は(Tomcatがmod_rewriteのようなものを持っていない)リダイレクトでそれを行うことができますか?

役に立ちましたか?

解決 2

私は、Tomcatとあきらめています。

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

私の問題を解決するために、私はポート80上で実行されているウェブサイトのインデックスページ上の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 にはにリダイレクトする - > <のhref = "のhttp://ライム。 langara.bc.ca:8080/lime」のrel = "nofollowをnoreferrer"> http://lime.langara.bc.ca:8080/lime の

他のヒント

Tomcatは仮想ホストをサポートしています。あなたは基本的にする必要があります:

1)Tomcatのポートの代わりに8080の80に "聞く" に変更します。

2)サーバーを一覧表示するにはTomcatのserver.xmlを変更します:

<Engine name="Catalina" defaultHost="quince">
    <Host name="quince"    appBase="quince_apps"/>
    <Host name="pineapple" appBase="pineapple_apps"/>
    <Host name="lime"      appBase="lime_apps"/>
</Engine>

3) "_apps" フォルダの対応する 'ルート' フォルダに各アプリケーションを移動します。

私は似たような状況にあったときは、

、私の代わりにApacheのリダイレクトを使用することにしました。しかし私は、Apacheが既に静的なページ(パブリックWebサイト)を提供する持っていた。

あなたがTomcatのmod_jkを見てきました http://tomcat.apache.org/connectors-doc/ に?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top