1

mod_clusterを使用して、いくつかのjbossサーバー(ファイアウォールの背後)のロードバランサーとして機能している、server1 *(公開されている)などのApache httpdサーバーがあります。ここで、静的コンテンツ (images/css/htmls) とおそらくいくつかの cg スクリプトを 2 つの apache サーバー、たとえば **server2とserver3 (ファイアウォールの背後)にインストールしたいと考えています。

ここで、 server1がこれらの server2 と server3 のロード バランサーとして機能し、jboss サーバーも同様に機能するようにします。

この配置では、jboss にデプロイされたアプリケーションのすべてのリクエストを jboss にルーティングする必要があり、静的コンテンツのリクエストはserver2またはserver3に送信する必要があります。

ここに私が使用しているバージョンがあります

Linux サーバー apache httpd - 2.2.22 JBOSS-EAP-6

それを可能にするためにserver1でどのようなメカニズム/構成を使用する必要がありますか? 誰かがこれを手伝ってくれるかどうか見てください。

4

2 に答える 2

1

ProxyPass 設定を追加するだけです。mod_cluster は ProxyPass と互換性があるため、両方を使用できます。

たとえば、gif 画像を A​​S7 ではなく httpd で提供したい場合は、次のように追加できます。

ProxyPassMatch ^(/.*\.gif)$ !  

さらに、設定すると

CreateBalancers 1

mod_cluster はプロキシを作成しないため、自分で作成する必要があります。これにより、追加の制御が可能になります。例えば:

ProxyPassMatch ^/static/ !
ProxyPass / balancer://qacluster stickysession=JSESSIONID|jsessionid nofailover=on
ProxyPassReverse / balancer://qacluster
ProxyPreserveHost on

前述の例では、/static/ コンテンツ以外をワーカーにプロキシします。

  • 注: Cookie 関連の問題が発生した場合は、ProxyPassReverseCookieDomain と ProxyPassReverseCookiePath を試してみてください。

  • 私の設定でqaclusterに注意してください。デフォルトはmyclusterであるため、バランサーに qacluster という名前を付けるために、これを mod_cluster config (VirtualHost の外) に追加しました。

    ManagerBalancerName qacluster
    

明確でない場合は、返信していただければ、さらに詳しく説明することができます。

于 2013-05-21T13:09:08.793 に答える
0

静的コンテンツに Apache HTTP サーバーを使用し、動的コンテンツ (JSF Web アプリ) に JBOSS AS 7 サーバーを使用していた場合と同じ問題がありました。

したがって、ロードモジュールの最後に以下のプロパティを追加すると、

CreateBalancers 0   

「0: httpd で定義されたすべての VirtualHosts に作成する」と指示します。

詳細: http://docs.jboss.org/mod_cluster/1.2.0/html/native.config.html#d0e485

また、以下の構成により、画像とスタイルシートが表示されない問題が解決されました。

<VirtualHost *:80>
  ServerName dev.rama.com
  DocumentRoot "/var/www/assests"
  UseAlias 1
  ProxyPassMatch ^(.*\.bmp)$ !
  ProxyPassMatch ^(.*\.css)$ !
  ProxyPassMatch ^(.*\.gif)$ !
  ProxyPassMatch ^(.*\.jpg)$ !
  ProxyPassMatch ^(.*\.js)$ !
  ProxyPassMatch ^(.*\.png)$ !
 <Directory /var/www/assests>
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
 </Directory>

注: Web アプリのすべてのアセットは HTTP サーバーの /var/www/assests にあり、アクセスしていた URL はポート 80 の dev.rama.com でした。

したがって、このProxyPassMatch ^(.*.css)$ を見ると! Web サーバーは、css ファイルが http サーバーに対してローカルであることを認識しており、Jboss App サーバーに移動する必要はありません。

詳細はhttp://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypassをご覧ください

于 2013-10-25T15:41:04.860 に答える