これ僕.com:行動分析学マニアがおくる行動戦略

意図と行動のギャップから生じる「不自由さ」への挑戦。果たして僕たちに自由はあるのか?

Poundインストールメモ

↓みたいなことがやりたくて、PoundでリバースでProxyみたいな。(良く分かっていないのでごまかしてみる)

           +-------------------+     hoge.jp/app/*     +-----------------------+
 (外部)--->|公開サーバー(Pound)|---+------------------>|アプリサーバー(Mongrel)|
           +-------------------+   |                   +-----------------------+
                                   |
                                   | hoge.jp/それ以外  +-----------------------+
                                   +------------------>|開発用サーバー(Apache) | WikiとかSubversion(WebDAV)とか
                                                       +-----------------------+

外部から"http://hoge.jp/app/*"でアクセスしたらアプリサーバーへ、"http://hoge.jp/[app以外]"でアクセスしたら開発サーバーへ振り分けたい、と。で、調べてみた感じ、ReverseProxyなるものを使えばいけそうだ、と。で、選択肢がmod_proxy(Apache)、Squid、Poundあたりがあるとか。で、Poundがシンプルでいいとか。

Install

とりあえず、インストール。

# wget http://www.apsis.ch/pound/Pound-2.3.2.tgz
# tar xvf Pound-2.3.2.tgz
# ./configure --with-ssl=/usr/include/openssl/
# make
# make install

設定

/usr/local/etc/pound.cfgを作成して、以下のように編集。

ListenHTTP
  Address [公開サーバーのアドレス]
  Port 80
  xHTTP 4 <--- 開発用サーバーでSubversionが動いているので、それにアクセスするために必要らしい
End

Service
  URL ".*/app/.+"
  BackEnd
    Address [アプリサーバーのPrivateアドレス
    Port [アプリサーバーのポート番号]
    TimeOut 300
  End
End

Service
  BackEnd
    Address [開発サーバーのPrivateアドレス]
    Port [開発サーバーのポート番号]
    Priority 2
    TimeOut 300
  End
End

起動

# /usr/local/sbin/pound