CentOS 6
Sponsored Link

mod_proxy を利用する#22014/09/15

 
mod_proxy モジュールを有効にして、特定のコンテンツへのリクエストを別のWebサーバーに転送するリバースプロキシ機能の設定をします。
(1) www.srv.world   [10.0.0.31]   - Webサーバー#1
(2) dlp.srv.world     [10.0.0.30]   - Webサーバー#2
(1)のサーバーの / 以下のリクエストを(2)のサーバーの / 以下へ転送するようにします。
[1] mod_proxy はデフォルトで組み込まれていて有効になっているので、新たに何かをインストールする必要はありません。
[root@www ~]#
vi /etc/httpd/conf.d/r_proxy.conf
# 新規作成

<IfModule mod_proxy.c>
   ProxyRequests Off
   <Proxy *>
      Order deny,allow
      Allow from all
   </Proxy>
  
# 転送先サーバとディレクトリ

   ProxyPass / http://dlp.srv.world/
   ProxyPassReverse / http://dlp.srv.world/
</IfModule>
[root@www ~]#
/etc/rc.d/init.d/httpd restart

Stopping httpd:     [  OK  ]
Starting httpd:     [  OK  ]
  転送設定をした / へアクセスしてみます。設定通りバックエンドのサーバーが応答しています。
[2]
[1]の設定に加えて、負荷分散をすることもできます。
(1) www.srv.world       [10.0.0.31]   - Webサーバー#1
(2) www01.srv.world   [10.0.0.60]   - Webサーバー#2
(3) www02.srv.world   [10.0.0.61]   - Webサーバー#3
(1)のサーバーの / 以下のリクエストを(2),(3)のサーバーへ、リクエスト数に応じて負荷分散をするようにします。
[root@www ~]#
vi /etc/httpd/conf.d/r_proxy.conf
# 新規作成

<IfModule mod_proxy.c>
   ProxyRequests Off
   <Proxy *>
      Order deny,allow
      Allow from all
   </Proxy>
  
# lbmethod でロードバランス方法を指定。転送量のバイト数で負荷分散する「bytraffic」も指定可能。

   ProxyPass / balancer://cluster lbmethod=byrequests
   <proxy balancer://cluster>
      BalancerMember http://www01.srv.world/ loadfactor=1
      BalancerMember http://www02.srv.world/ loadfactor=1
   </proxy>
</IfModule>
[root@www ~]#
/etc/rc.d/init.d/httpd restart

Stopping httpd:     [  OK  ]
Starting httpd:     [  OK  ]
  転送設定をした / へアクセスしてみます。設定通りバックエンドのサーバーの片方が応答しています。 ブラウザの更新ボタンを連続で押してみて応答するバックエンドサーバーが切り替わることを確認してください。
関連コンテンツ