Prev / Next

2009-07-10 / Pound いじり

http://www.apsis.ch/pound/

reverse proxy 兼 laod balancer の Pound をいじってみたのでメモ.
(読みはポンド?パウンド?)

WHAT POUND IS:
1. a reverse-proxy: it passes requests from client browsers to one or more back-end servers.
2. a load balancer: it will distribute the requests from the client browsers among several back-end servers, while keeping session information.
3. an SSL wrapper: Pound will decrypt HTTPS requests from client browsers and pass them as plain HTTP to the back-end servers.
4. an HTTP/HTTPS sanitizer: Pound will verify requests for correctness and accept only well-formed ones.
5. a fail over-server: should a back-end server fail, Pound will take note of the fact and stop passing requests to it until it recovers.
6. a request redirector: requests may be distributed among servers according to the requested URL.

install

yum --enablerepo=rpmforge install pound


単純な設定(/etc/pound.cfg)

User        "nobody"
Group       "nobody"
Alive       60

## Main listening ports
ListenHTTP
    Address 192.168.74.101
    Port    10080
    Client  20
End

# 振分け設定
Service
    BackEnd
        Address 192.168.74.101
        Port    80
        Priority 5
    End
    BackEnd
        Address 192.168.74.102
        Port    80
        Priority 5
    End
    Session
        Type    Cookie            # Cookie でセッション管理
        ID      "session_id"      # session_id の値をみる
        TTL     300
    End
End


待受 IP アドレス・ポートの組み合わせで振分け先を変更するには
ListenHTTP 内に Service を定義する.
ListenHTTP は複数指定可能.

ListenHTTP
    Address 192.168.74.101
    Port    10080
    Client  20

    Service
        BackEnd
            Address 192.168.74.101
            Port    80
            Priority 5
        End
    End
End


セッション管理は
クライアント IP アドレス

    Session
        Type    IP
        TTL     300
    End


Cookie

    Session
        Type    Cookie
        ID      "session_id"
        TTL     300
    End


URL parameter (http://example.com/?id=xxxx)

    Session
        Type    URL
        ID      "id"
        TTL     300
    End


HTTP parameter (http://example.com/:parameter)

    Session
        Type    PARM
        TTL     300
    End


などでセッション管理が可能.

設定は簡単だし,扱いやすいかもしれない.

- Apsis Gmbh
  http://www.apsis.ch/pound/

comments powered by Disqus