Ubuntu 16.04
Sponsored Link

Pound : URLリダイレクトの設定2016/06/07

 
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/pound.cfg /etc/pound/pound.cfg.org

root@dlp:~#
vi /etc/pound/pound.cfg
User "www-data"
Group "www-data"
LogLevel 3
LogFacility local1
Alive 30
Control "/var/run/pound/poundctl.socket"

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:~#
systemctl restart pound

[2] 任意のクライアントから Pound サーバーへ、定義した URL 宛てに HTTP アクセスして動作を確認してください。
関連コンテンツ