セッション+リバースプロクシで悩んだ

Apache モジュール mod_proxy を使ってリバースプロクシを掛けているwebサーバとの間で,cgiからセッション情報をやり取りしたかったのだけど,さっぱりうまくいかず,なぜかクッキーファイルが量産されていた…つまり常に新しいセッションが作られていた.

答えは,クライアントが見ている(と思っている)サーバと実際にcgiが動いているサーバが違うとかそんな理由で,サーバ側とクライアント側でクッキーのドメインとかパスが食い違っていたせいと思われます. というわけで,ProxyPass/ProxyPassReverseディレクティブだけでなく,以下の二つも設定してやり(上のリンク先参照),双方の齟齬を埋めてやらないといけないのでした.

ProxyPassReverseCookieDomain internal-domain public-domain
ProxyPassReverseCookiePath internal-path public-path

これでおk.一仕事終えたので,寝よう.


About this entry