Poundについて
最初に簡単にpoundとは何かについて解説。リバースプロキシ & ロードバランサ(reverse-proxy and load-balancer)で、以下の機能をもつ。
- リバースプロキシ : ブラウザからのリクエストを1台以上のバックエンド・サーバに渡す(バックエンド・サーバからは、Pound が動作しているマシンからのリクエストに見える。このためアクセス解析には一工夫必要)。
- ロードバランサ : 複数台のバックエンド・サーバにリクエストを分配する(優先順位の設定可)。
- SSLラッパ : ブラウザからのHTTPSリクエストをHTTPでバックエンド・サーバにリクエストする(HTTPしかサポートしていないサーバをHTTPS対応にできる)。
- HTTP/HTTPS サニタイザー : 要求の正当性を確認し、正しいもののみを受け入れる。
- フェイルオーバー : バックエンド・サーバのヘルスチェックを行い、ダウンしているサーバにはリクエストを送らない。復帰を検出したら自動的に通信を再開する。
- リクエスト・リダイレクター : リクエストされたURLやヘッダ情報(正規表現で指定)によってどのバックエンド・サーバに渡すか指定できる(バーチャルホストやアクセス拒否も可能)。
サイズも小さく、設定も簡単。但し、自身ではコンテンツを持たずWebサーバとしての機能は持たない。また、キャッシングなどのWebアクセラレータとしての機能は持たない。詳細は、Poundのオフィシャルサイト参照。枯れてきている技術ではあるので、今後キャッチアップを進めてみたい。