From takebayashi.shinya @ oss.ntt.co.jp Tue Jan 12 18:45:51 2010 From: takebayashi.shinya @ oss.ntt.co.jp (Shinya TAKEBAYASHI) Date: Tue, 12 Jan 2010 18:45:51 +0900 Subject: [Ultramonkey-l7-users 270] Re: =?iso-2022-jp?b?c3NscHJveHkbJEIkck14TVEkNyQ/JTslQyU3JWcbKEI=?= =?iso-2022-jp?b?GyRCJXMkTjBdO30kSzRYJDckRhsoQg==?= In-Reply-To: <20100108061331.00002E6B.0202@fujimic.com> References: <20100108061331.00002E6B.0202@fujimic.com> Message-ID: 竹林です. 返信が遅れすみません. > 現在以下のような構成で検証を行っております。 > > sslproxy > | > ultramonkey-l7(1台) > | > realserver(httpd 2台) > > sslproxyは後から追加という形にしたのですが、 > クライアントからリクエストが来た際にソースIPアドレスがsslproxyのものにな > ってしまうため、 > IPモジュールがセッション維持の目的では利用できなくなってしまいました。 > > 上記の構成で同一セッションを、 > 同一のrealserverに振り分けを行うことは可能でしょうか。 sslproxy を挟んだ状態で IP モジュールによるパーシステンスは 実現できません. 理由は西村さんがご指摘のとおり,IP モジュールからみた ソース IP アドレスが sslproxy のものとなってしまうためです. transparent proxy として動作することはできないのです・・・ 代替案として,最初に IP モジュールで負荷分散して sslproxy に振り分ける方法はいかがでしょうか. 手元に試せる環境がないのでこの方法で実現できるかは 確証を持てませんが,ソフトウェアスタック上は実現可能と考えます. ・UM-L7 で IP モジュールを用いて負荷分散する(ここでは HTTPS) ・負荷分散先リアルサーバとして sslproxy を指定する sslproxy は,ポート番号をかえるなどして実在する リアルサーバの分だけ立ち上げる ・sslproxy の target endpoint として,実在するリアルサーバを 指定する _ [ client ] - 「 UM-L7(IP module) -- sslproxy l - RS#1 L `- sslproxy _| - RS#2 ただし,この方式の弊害として,X-Forwarded-For を用いてクライアントの IP アドレスをリアルサーバ上に記録することができません. # IP モジュール通過時は HTTPS であり,HTTP ヘッダを書き換えられないため 以上,ご確認ください. ----------------------------------------------------------- Shinya TAKEBAYASHI E-mail: takebayashi.shinya @ oss.ntt.co.jp GPG ID: E2695938 GPG FP: 0412 40A9 B385 17EB 1E49 D2D2 DECA 8DE1 E269 5938 -----------------------------------------------------------