pound

構成は以下。
20071031-lb.jpg
t60 client(Linux, XP)
LB(celeron 1.7GHz/384MB)
web DELL GX150(P3-1.0GHz/512MB)
DB DELL SC440(PentiumD-3.0GHz/1GB)
ものはここ。SSL wrapperを使うので、
./configure –with-ssl=/usr
後は、make, make install。
config fileのdefaultは、/usr/local/etc/pound.cfg らしい。
COOKIEによる固定振り分けをやりたいんで、まずは、これで
User “nobody”
Group “nogroup”
LogLevel 0
Alive 60
Daemon 0
ListenHTTP
Address 192.168.1.108
Port 80
End
Service
BackEnd
Address 192.168.1.104
Port 80
TimeOut 300
End
BackEnd
Address 192.168.1.106
Port 80
TimeOut 300
End
Session
Type COOKIE
ID “GENESIS_LOAD_BALANCER”
TTL 7200
End
End
なんぢゃ?両方に振り分けしてるぢゃん。効かない?試しにType IPでと、おっ、旨くいってるっぽい。てか、こいつ、アプリ側でCOOKIE書かなきゃダメ?でやってみると、おけっぽい。。。ふむ、どうしよう。ま、1行程度でいけるから大丈夫か。次はSSLだ。
Apacheにつけてたserver.crt/server.keyを連結して、pound.cfgには以下を追加。
ListenHTTPS
Address 192.168.1.108
Port 443
Cert “/usr/local/etc/pound.pem”
AddHeader “X-SSL-serial:443”
End
こんだけで桶らしい。AddHeaderは、アプリがSSLかどうか判定したい時つけると便利かな。
で、Apacheのlog。普通のformatだと、いつもpound鯖のIPになるので、X-FORWARDED-FORを記録するようにする。
LogFormat &quot%{X-Forwarded-For}i %l %u %t \&quot%r\&quot %>s %b \&quot%{Referer}i\&quot \&quot%{User-Agent}i\&quot&quot combined
で、追試してると何かどうも片側に寄るなあと。試しに3台構成でやってみる。
20071101-lb2.jpg
dbだけだったのをwebも動作させるようにして、vaioは、logのmonitor用。う〜ん、どうなんだろう。大丈夫っぽい?てか、client 2台じゃload balanceもないよな。。。