19.7.2. Apache HTTP Server への mod_proxy HTTP コネクターのインストール
mod_proxy は、Apache により提供される負荷分散モジュールです。このタスクは、基本的な設定を提供します。高度な設定または詳細については、Apache の mod_proxy ドキュメンテーション (https://httpd.apache.org/docs/2.2/mod/mod_proxy.html) を参照してください。JBoss EAP 6 の観点からの mod_proxy の詳細については、「Apache mod_proxy HTTP コネクター 」と「HTTP コネクターの概要 」を参照してください。
前提条件
- JBoss Enterprise Web Server の httpd または Apache HTTP Server のどちらかをインストールする必要があります。スタンドアロン Apache HTTP Server は、Red Hat カスタマーポータルの JBoss EAP 6 のダウンロードエリアから個別にダウンロードできます。この Apache HTTP Server を使用したい場合は「JBoss EAP 6 に含まれる Apache HTTP Server のインストール (Zip)」の詳細情報を参照してください。
mod_proxyモジュールをインストールする必要があります。Apache HTTP Server は、通常、すでに同梱されているmod_proxyモジュールで提供されます (Red Hat Enterprise Linux と JBoss Enterprise Web Server に含まれる Apache HTTP Server の場合)。- Apache HTTP Server の設定を変更するには、
rootまたは管理者権限が必要です。 - ここで使用する例では JBoss EAP 6 が HTTP または HTTPS Web コネクターで設定されていることを仮定しています。Web サブシステムの設定については「Web サブシステムの設定」を参照してください。
httpd で
mod_proxyモジュールを有効にします。HTTPD_HOME/conf/httpd.confファイルで次の行を探します。これらの行が存在しない場合は、行を最下部に追加します。これらの行が存在し、行がコメント (#) 文字始まる場合は、この文字を削除します。編集後、ファイルを保存します。通常、モジュールはすでに存在し、有効になっています。LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so # Uncomment these to proxy FTP or HTTPS #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so
非負荷分散プロキシーを追加します。
以下の設定を、他の<VirtualHost>ディレクトリーの直下にあるHTTPD_HOME/conf/httpd.confファイルに追加します。値をセットアップに適切な値に置き換えます。この例では、仮想ホストを使用します。デフォルトの httpd 設定を使用するには、次の手順を参照してください。<VirtualHost *:80> # Your domain name ServerName Domain_NAME_HERE ProxyPreserveHost On # The IP and port of JBoss EAP 6 # These represent the default values, if your httpd is on the same host # as your JBoss EAP 6 managed domain or server ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ # The location of the HTML files, and access control information DocumentRoot /var/www <Directory /var/www> Options -Indexes Order allow,deny Allow from all </Directory> </VirtualHost>
変更後に、ファイルを保存します。負荷分散プロキシーを追加します。
mod_proxyをロードバランサーとして使用し、複数の JBoss EAP 6 サーバーにワークを送信するには、以下の設定をHTTPD_HOME/conf/httpd.confファイルに追加します。IP アドレスの例には架空の値が使用されています。これらの値を環境に適した値に置き換えてください。<Proxy balancer://mycluster> Order deny,allow Allow from all # Add each JBoss Enterprise Application Server by IP address and port. # If the route values are unique like this, one node will not fail over to the other. BalancerMember http://192.168.1.1:8080 route=node1 BalancerMember http://192.168.1.2:8180 route=node2 </Proxy> <VirtualHost *:80> # Your domain name ServerName YOUR_DOMAIN_NAME ProxyPreserveHost On ProxyPass / balancer://mycluster/ # The location of the HTML files, and access control information DocumentRoot /var/www <Directory /var/www> Options -Indexes Order allow,deny Allow from all </Directory> </VirtualHost>
上記の例では、すべて HTTP プロトコルを使用して通信します。 適切なmod_proxyモジュールをロードする場合は、AJP または HTTPS プロトコルを代わりに使用できます。詳細については、Apache のmod_proxyドキュメンテーション (http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) を参照してください。スティッキーセッションを有効にします。
スティッキーセッションを使用すると、クライアント要求が特定の JBoss EAP 6 ノードに送信された場合に、ノードが利用不可能にならない限り、すべての将来的な要求が同じノードに送信されます。これは、ほとんどの場合で適切な挙動です。mod_proxyのスティッキーセッションを有効にするには、stickysessionパラメーターをProxyPassステートメントに追加します。この例では、使用できる他のいくつかのパラメーターも示されます。詳細については、Apache のmod_proxyドキュメンテーション (http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) を参照してください。ProxyPass /MyApp balancer://mycluster stickysession=JSESSIONID lbmethod=bytraffic nofailover=Off
Web サーバーを再起動します。
Web サーバーを再起動して変更を有効にします。
標準またはロードバランシング設定で mod_proxy を使用してクライアント要求を JBoss EAP 6 サーバーまたはクラスターに送信するよう Apache HTTP Server が設定されます。JBoss EAP 6 がこれらの要求に応答するよう設定するには、「外部 Web サーバーからの要求を許可するよう JBoss EAP 6 を設定」を参照してください。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.