Apache httpd : mod_proxy の設定2024/02/01 |
[mod_proxy] モジュールを有効にして、特定のコンテンツへのリクエストを別の Web サーバーに転送するリバースプロキシ機能の設定をします。 当例では以下のような環境で [Web Server#1] へのリクエストを [Web Server#2] へ転送します。 -----------+---------------------------+----------- | | |10.0.0.31 |10.0.0.51 +----------+-----------+ +-----------+----------+ | [ www.srv.world ] | | [ node01.srv.world ] | | Web Server#1 | | Web Server#2 | +----------------------+ +----------------------+ |
[1] | プロキシ用の設定を追加します。 |
root@www:~ #
vi /usr/local/etc/apache24/httpd.conf # 129行目 : コメント解除 LoadModule proxy_module libexec/apache24/mod_proxy.so # 132行目 : コメント解除 LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
root@www:~ #
vi /usr/local/etc/apache24/Includes/revers_proxy.conf # 新規作成
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
# 転送先サーバーとディレクトリ
ProxyPass / http://node01.srv.world/
ProxyPassReverse / http://node01.srv.world/
</IfModule>
service apache24 reload
|
[2] | 転送設定をした / へアクセスして、設定通りバックエンドのサーバーが応答するか確認します。 |
[3] |
負荷分散をすることも可能です。 -----------+---------------------------+--------------------------+------------ | | | |10.0.0.31 |10.0.0.51 |10.0.0.52 +----------+-----------+ +-----------+----------+ +-----------+----------+ | [ www.srv.world ] | | [ node01.srv.world ] | | [ node02.srv.world ] | | Web Server#1 | | Web Server#2 | | Web Server#3 | +----------------------+ +----------------------+ +----------------------+ |
root@www:~ #
vi /usr/local/etc/apache24/httpd.conf # 139行目 : コメント解除 LoadModule proxy_balancer_module libexec/apache24/mod_proxy_balancer.so # 146行目 : コメント解除 LoadModule slotmem_shm_module libexec/apache24/mod_slotmem_shm.so # 153行目 : コメント解除 LoadModule lbmethod_byrequests_module libexec/apache24/mod_lbmethod_byrequests.so
root@www:~ #
vi /usr/local/etc/apache24/Includes/revers_proxy.conf # 新規作成 <IfModule mod_proxy.c> ProxyRequests Off <Proxy *> Require all granted </Proxy> # lbmethod でロードバランス方法を指定 # 転送量のバイト数で負荷分散する [bytraffic] も指定可能 ProxyPass / balancer://cluster lbmethod=byrequests <proxy balancer://cluster> BalancerMember http://node01.srv.world/ loadfactor=1 BalancerMember http://node02.srv.world/ loadfactor=1 </proxy> </IfModule> service apache24 reload
|
[4] | 転送設定をした / へアクセスして動作確認します。アクセス毎にバックエンドサーバーが切り替われば OK です。 |
Sponsored Link |
|