#author("2018-08-31T15:36:49+09:00","","")

#author("2018-08-31T15:37:25+09:00","","")

[[CentOS7]]

*Apache httpd : 特定のコンテンツへのリクエストを転送する [#p425530c]

mod_proxy モジュールを有効にして、特定のコンテンツへのリクエストを別の Web サーバーに転送するリバースプロキシ機能の設定をします。

-www.hoge.com 	[10.0.0.31] 	- Webサーバー#1

-node01.hoge.com 	[10.0.0.51] 	- Webサーバー#2

+www.hoge.com 	[10.0.0.31] 	- Webサーバー#1

+node01.hoge.com 	[10.0.0.51] 	- Webサーバー#2


(1) のサーバーの / 以下のリクエストを (2) のサーバーの / 以下へ転送します。

mod_proxy は httpd パッケージに含まれているため、パッケージの追加インストールは不要です。また、mod_proxy モジュールはデフォルトで有効になっているため、プロキシ設定をするのみで OK です。

|BGCOLOR(black):COLOR(white):|c
|&color(lightpink){# モジュールはデフォルトで有効になっている};|
|[root@localhost ~]# grep "mod_proxy" /etc/httpd/conf.modules.d/00-proxy.conf|
|LoadModule proxy_module modules/mod_proxy.so &br; LoadModule proxy_ajp_module modules/mod_proxy_ajp.so &br; ..... &br; LoadModule proxy_http_module modules/mod_proxy_http.so &br; LoadModule proxy_scgi_module modules/mod_proxy_scgi.so &br; |
|[root@localhost ~]# vi /etc/httpd/conf.d/r_proxy.conf|
|&color(lightpink){# 新規作成};|
|<IfModule mod_proxy.c> &br;     ProxyRequests Off &br;     <Proxy *> &br;         Require all granted &br;     </Proxy> &br;     &color(lightpink){# 転送先サーバとディレクトリ}; &br;  &br;     ProxyPass / http://node01.hoge.com/ &br;     ProxyPassReverse / http://node01.hoge.com/ &br; </IfModule>|
|[root@localhost ~]# systemctl restart httpd|



転送設定をした / へアクセスして、設定通りバックエンドのサーバーが応答するか確認します。



上記の設定に加えて、負荷分散をすることも可能です。
-www.hoge.com 	[10.0.0.31] 	- Webサーバー#1

-node01.hoge.com 	[10.0.0.51] 	- Webサーバー#2

-node02.hoge.com 	[10.0.0.52] 	- Webサーバー#3

+www.hoge.com 	[10.0.0.31] 	- Webサーバー#1

+node01.hoge.com 	[10.0.0.51] 	- Webサーバー#2

+node02.hoge.com 	[10.0.0.52] 	- Webサーバー#3


(1) のサーバーの / 以下のリクエストを (2),(3) のサーバーへ、リクエスト数に応じて負荷分散をするように設定します。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /etc/httpd/conf.d/r_proxy.conf|
|&color(lightpink){# 新規作成};|
|<IfModule mod_proxy.c> &br;     ProxyRequests Off &br;     <Proxy *> &br;         Require all granted &br;     </Proxy> &br;     &color(lightpink){# lbmethod でロードバランス方法を指定。転送量のバイト数で負荷分散する「bytraffic」も指定可能。}; &br;  &br;     ProxyPass / balancer://cluster lbmethod=byrequests &br;     <proxy balancer://cluster> &br;         BalancerMember http://node01.hoge.com/ loadfactor=1 &br;         BalancerMember http://node02.hoge.com/ loadfactor=1 &br;     </proxy> &br; </IfModule>|
|[root@localhost ~]# systemctl restart httpd|

転送設定をした / へアクセスして動作確認します。 ブラウザの更新ボタンを何度か押下し、バックエンドサーバーが切り替わることを確認してください。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS