Poundについて

最初に簡単にpoundとは何かについて解説。リバースプロキシ & ロードバランサ(reverse-proxy and load-balancer)で、以下の機能をもつ。

  1. リバースプロキシ : ブラウザからのリクエストを1台以上のバックエンド・サーバに渡す(バックエンド・サーバからは、Pound が動作しているマシンからのリクエストに見える。このためアクセス解析には一工夫必要)。
  2. ロードバランサ : 複数台のバックエンド・サーバにリクエストを分配する(優先順位の設定可)。
  3. SSLラッパ : ブラウザからのHTTPSリクエストをHTTPでバックエンド・サーバにリクエストする(HTTPしかサポートしていないサーバをHTTPS対応にできる)。
  4. HTTP/HTTPS サニタイザー : 要求の正当性を確認し、正しいもののみを受け入れる。
  5. フェイルオーバー : バックエンド・サーバのヘルスチェックを行い、ダウンしているサーバにはリクエストを送らない。復帰を検出したら自動的に通信を再開する。
  6. リクエスト・リダイレクター : リクエストされたURLやヘッダ情報(正規表現で指定)によってどのバックエンド・サーバに渡すか指定できる(バーチャルホストやアクセス拒否も可能)。

サイズも小さく、設定も簡単。但し、自身ではコンテンツを持たずWebサーバとしての機能は持たない。また、キャッシングなどのWebアクセラレータとしての機能は持たない。詳細は、Poundのオフィシャルサイト参照。枯れてきている技術ではあるので、今後キャッチアップを進めてみたい。