pound リバースプロキシ
今日もアルディージャ勝ちましたね!ナビスコカップは2連敗から二連勝で調子に乗ってきたかも。小林大悟選手がまた決めたみたいですね。
閑話休題
週末もトラブル対応。Cisco IPsec不具合とリバースプロキシ故障を同時進行。プロキシだけ以下にメモ。
iPlanetServerがイかれてしまって、急遽代替品を準備することに。SPARCは週明けにならないと用意できず代替でLinuxでpoundを利用。
poundのいいところは最初の設定を読み込んでからHDDへのアクセスが基本的にないこと(ログ出力はあるけど)。セキュアであることがうたい文句ですね。
今回実施したリバースプロキシーの条件は以下の通り。
- グローバルIPは1つ。(仮に20.20.20.1)
- ロードバランスを実施
- 対象はWWWサーバ、httpのみ。
- 対象ホスト名は2つ。(仮称でwww.host1.co.jp と www.host2.co.jp とする)
- ファイル単位で振り分けはしない
- フォルダ単位で振り分ける
という条件で重要な部分のみ設定例を書いておきます。
#グローバルIP「20.20.20.1」で80/tcpで待ち受ける<
ListenHTTP 20.20.20.1,80#「www.host1.co.jp/aaa」は192.168.0.1へ
UrlGroup "^/aaa/.*"
HeadRequire Host ".*www.host1.jp.*"
BackEnd 192.168.0.1,80,1
EndGroup#「www.host1.co.jp/bbb」は192.168.0.2へ
UrlGroup "^/bbb/.*"
HeadRequire Host ".*www.host1.jp.*"
BackEnd 192.168.0.2,80,1
EndGroup#「www.host2.co.jp」は192.168.0.3へ
UrlGroup ".*"
HeadRequire Host ".*www.host2.jp.*"
BackEnd 192.168.0.3,80,1
EndGroup#上記以外は192.168.0.4と192.168.0.5へロードバランス
UrlGroup ".*"
BackEnd 192.168.0.4,80,1
BackEnd 192.168.0.5,80,1
EndGroup
上の「UrlGroup」での指定はGETで渡されるファイル名を正規表現で記述したものと考えればいい。画像ファイルであれば".*.(jpg|gif)"のような書き方でよい。
「HeadRequire Host」はHeaderで渡されてくるホスト名。ここも正規表現。VirtualHostのようなことがこれで実現可能。
悩んだのは「要求されたフォルダ名」と「転送先のフォルダ名」が異なる要望があったため。manを読む限りではこれは実現できないのかも。
| 固定リンク

コメント