ハードウェアロードバランサーを指す2つの公開Webサイト(foo.comとbar.com)があります。このハードウェアは、次のようにトラフィックをサーバーに転送します。
http: //foo.com==>ポート7700https
: //foo.com==>ポート7701
http: //bar.com==>ポート7800https
: //bar.com==>ポート7801
私のサーバーは現在、2つの仮想サーバー(7700、7701の場合はfoo.com、7800、7801の場合はbar.com)を定義する古いiPlanetボックスです。ロードバランサーはこれらのポートに直接転送するため、すべてが正常に機能します。
これらのWebサイトをApache2.2+ JBoss 6.0構成に移植する必要がありますが、現在、これを実現するためのベストプラクティスがわからなくなっています。
4つのポート(7700、7701、7800、7801)でリッスンするようにApacheをセットアップし、7701、7801のSSLを構成しました。ApacheにSSLハンドシェイクと接続を処理させることが望ましいと思います。次のように、Apacheで4つの仮想ホストエントリを設定しました。
<VirtualHost *:7700>
DocumentRoot "/htdocs/foo.com"
ServerName foo.com
</VirtualHost>
<VirtualHost *:7701>
DocumentRoot "/htdocs/foo.com"
ServerName foo.com
SSLEngine on
SSLCipherSuite ALL:...
SSLCertificateFile "/cert/foo.com.crt"
SSLCertificateKeyFile "/cert/foo.com.key"
</VirtualHost>
<VirtualHost *:7800>
DocumentRoot "/htdocs/bar.com"
ServerName bar.com
</VirtualHost>
<VirtualHost *:7801>
DocumentRoot "/htdocs/bar.com"
ServerName bar.com
SSLEngine on
SSLCipherSuite ALL:...
SSLCertificateFile "/cert/bar.com.crt"
SSLCertificateKeyFile "/cert/bar.com.key"
</VirtualHost>
これを静的コンテンツでテストしましたが、HTTP接続とHTTPS接続の両方が正しく機能しています。
私のJBoss設定では、現在、アプリケーションを/fooおよび/barとしてデプロイしていますが、それが最終的な設定であるかどうかはわかりません。私が達成したいのはこれです:
すべてのトラフィックを7700/7701からhttp:// localhost:8080 / fooに転送し、7800/7801からhttp:// localhost:8080/barに転送します。パブリックURLに/fooと/barを表示したくありませんが、ユーザーはhttp://www.foo.comとhttp://www.bar.comを表示する必要があります。
リクエストを特定のURLに転送するようにmod_jkを設定する方法はありますか?または、JBossホストfoo.comをポートAに、bar.comをポートBに設定し、mod_jkを各ポートに個別に転送する方法を検討する必要がありますか?