CentOS 6
Sponsored Link

Pound : URLリダイレクトの設定
2015/01/31
 
URL マッチングによる バックエンドサーバーへのリダイレクトの設定です。
例として、ここでは以下のような環境で設定します。
        |
--------+--------------------------------------------------------------------
        |
        +-------------------+--------------------+--------------------+
        |10.0.0.30          |10.0.0.51           |10.0.0.52           |10.0.0.53
 +------+-----+     +-------+------+     +-------+------+     +-------+------+
 |  Frontend  |     |   Backend#1  |     |   Backend#2  |     |   Backend#3  |
 |   Pound    |     |  Web Server  |     |  Web Server  |     |  Web Server  |
 +------------+     +--------------+     +--------------+     +--------------+

 
Frontend サーバーへの
「dlp.srv.world」宛ての HTTP 通信を Backend#1 へ,
「dlp.virtual.host」宛ての HTTP 通信を Backend#2 へ,
上記以外の宛先の HTTP 通信を Backend#3 へ,
振り分けるように設定します。
[1] Pound の設定です。
HeadRequire の記述の仕方次第で、例のようなホスト名ベースでなくとも、例えば png や jpg 等の画像ファイルはサーバー#1へ、html 等の静的ファイルはサーバー#2へ、cgi 等の動的ファイルはサーバー#3へ、といった振り分けもできます。
[root@dlp ~]#
mv /etc/pound.cfg /etc/pound.cfg.org

[root@dlp ~]#
vi /etc/pound.cfg
User "pound"
Group "pound"
LogLevel 3
LogFacility local1
Alive 30

ListenHTTP
    Address 0.0.0.0
    Port 80
End

Service
    # dlp.srv.world を定義

    HeadRequire "Host: .*dlp.srv.world"
    BackEnd
        Address  10.0.0.51
        Port     80
        Priority 5
    End
End

Service
    # dlp.virtual.host を定義

    HeadRequire "Host: .*dlp.virtual.host"
    BackEnd
        Address  10.0.0.52
        Port     80
        Priority 5
    End
End

Service
    # 上記以外を定義

    HeadRequire "Host: .*"
    BackEnd
        Address  10.0.0.53
        Port     80
        Priority 5
    End
End

[root@dlp ~]#
/etc/rc.d/init.d/pound restart

Stopping Pound: [ OK ]
Starting Pound: starting...
[ OK ]
[2] 任意のクライアントから Pound サーバーへ、定義した URL 宛てに HTTP アクセスして動作を確認してください。
 
Tweet