Shinya TAKEBAYASHI
takeb****@oss*****
2010年 1月 12日 (火) 18:45:51 JST
竹林です. 返信が遅れすみません. > 現在以下のような構成で検証を行っております。 > > 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: takeb****@oss***** GPG ID: E2695938 GPG FP: 0412 40A9 B385 17EB 1E49 D2D2 DECA 8DE1 E269 5938 -----------------------------------------------------------