From hibari.michirou @ nttcom.co.jp Sun Jul 10 12:38:00 2011 From: hibari.michirou @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCMUA/fSEhTylPLxsoQg==?=) Date: Sun, 10 Jul 2011 12:38:00 +0900 Subject: [Ultramonkey-l7-users 427] Re: =?iso-2022-jp?b?W1VsdHJhbW9ua2V5LWw3LWRldmVsb3AgNjk3XSBSZTog?= =?iso-2022-jp?b?IFJlOiBGYWlsZWQgdG8gYWRkIHZpcnR1YWwgc2VydmljZSB0byBsN3Zz?= =?iso-2022-jp?b?ZCAbJEIlKCVpITwkSyREJCQkRhsoQg==?= In-Reply-To: <20110705102847.FBEF.BEDBFD42@gmail.com> References: <20110703200944.F20B.BEDBFD42@gmail.com> <4E111D60.8080501@nttcom.co.jp> <20110705102847.FBEF.BEDBFD42@gmail.com> Message-ID: <4E191E98.7080905@nttcom.co.jp> 竹内様 雲雀です。 返信が遅くなり、申し訳ありません。 >  session_thread_pool_size = 16だと、32のときに比べて、 > どの程度性能の上限が低いのでしょうか?数値通り半分程度 > ということになりますでしょうか? ぴったり半分の性能になる訳ではありませんが、 同時接続数がsession_thread_pool_sizeを常に超える 状態では、大体半分程度になるかと思います。 >  また、アクセス数の多いサイトで利用する場合は、 > session_thread_pool_sizeはどの程度に設定して > 利用するものでしょうか? 振分け先サーバが許容する同時接続数を鑑みて設定 するのが良いです。 例えば、1つのバーチャルサービスに対して、振分け先サーバ が2台あり、それぞれの振分け先サーバの最大同時接続数が200 だとしたら session_thread_pool_size = 200 * 2 = 400 となります。 但し、session_thread_pool_sizeが増えるとメモリーの使用量も 増えるので、swapが発生しない範囲で、session_thread_pool_size の値を増加させると良いと思います。 (swapが発生すると性能が落ちます。) -- ============================================== NTTコムウェア株式会社 品質生産性技術本部 技術SE部 基盤ソフトSE・OSS部門 雲雀 路朗(ひばり みちろう) E-Mail:hibari.michirou @ nttcom.co.jp TEL:043-211-2452 ============================================== From takepan @ gmail.com Sun Jul 10 19:37:21 2011 From: takepan @ gmail.com (takepan @ gmail.com) Date: Sun, 10 Jul 2011 19:37:21 +0900 Subject: [Ultramonkey-l7-users 428] =?iso-2022-jp?b?U1NMGyRCJE4/NiRqSiwkMSRIQFxCMzg1GyhCSVA=?= =?iso-2022-jp?b?GyRCJSIlSSVsJTkkTjxoRkAkSyREJCQkRhsoQg==?= Message-ID: <20110710193718.5693.BEDBFD42@gmail.com>  竹内です。連続の質問で申し訳ありません。  SSLの振り分けについてなのですが、設定方法が良く分かりません。  やりたいことは、HTTPと同じように下記のように振り分けをしたい、 ということなのですが…… ------------------------------------------------- g.g.g.1:443 → l.l.l.11.443、l.l.l.12:443 (g.g.g.nはグローバルIP、l.l.l.nはローカルIPアドレス) ------------------------------------------------- サーバ構成は以下の通りです。 ------------------------------------------------- ・g.g.g.1 / l.l.l.1 UM-L7稼働サーバ ・l.l.l.11 Webサーバ(リアルサーバ) ・l.l.l.12 Webサーバ(リアルサーバ) -------------------------------------------------  まず、l.l.l.11とl.l.l.12に通常と同じように、SSLの有効な証明書の 設定をしました。(各ローカルサーバに共通で1ドメイン分のみです) (ssl.confにて、 > > ServerName example.jp:443  ・SSLCertificateFile(Webサーバ証明書)  ・SSLCertificateKeyFile(秘密鍵)  ・SSLCertificateChainFile(チェーン証明書)  を指定しました) # openssl s_client -connect l.l.l.11:443 # openssl s_client -connect l.l.l.12:443  を実行すると、 > Certificate chain > (略) /O=example.jp/ > (略) > Verify return code: 0 (ok)  と設定したFQDNが出ます。  この状態で、l7directord.cfに ------------------------------------------------- virtual = g.g.g.1:443 real = l.l.l.11:443 masq 1 real = l.l.l.12:443 masq 1 module = sessionless --forwarded-for service = https -------------------------------------------------  という記述を追加し、実行してみると、2分以上かかって タイトルタグのみ出たり、すべて表示されたりする状況になりました。 (接続元IPアドレスはl.l.l.1で、UM-L7のローカルIPが出ます)  そこで、sslidモジュールに記述を変え、 ------------------------------------------------- virtual = g.g.g.1:443 real = l.l.l.11:443 masq 1 real = l.l.l.12:443 masq 1 module = sslid --forwarded-for service = https -------------------------------------------------  とすると、 ------------------------------------------------- [ERR0201] Failed to add virtual service to l7vsd: `g.g.g.1:443 sslid ', output: `PARSE ERROR: protocol module argument error(--proto-module): Option error.' -------------------------------------------------  というエラーになります。  とりえあずマニュアルに記述のあった ------------------------------------------------- virtual = g.g.g.1:443 real = l.l.l.11:443 masq 1 real = l.l.l.12:443 masq 1 module = sslid service = https -------------------------------------------------  にすると、接続され、表示速度も問題ないのですが、アクセスログに 記録されるのはUM-L7のローカルIPで、アクセスしてきたユーザのIPアドレスが 分からない状態です。  アクセスしてきたユーザのIPアドレスをログに残るようにするには、 どのように設定したら良いのでしょうか?  アドバイスをいただけましたら幸甚です。  環境は、 ・Ultramonkey-L7 V3.0.1(l7vsd、l7directord) ・CentOS 5.6 ・Apache2.2.3+MOD_SSL+mod_extract_forwarded  です。  長くなってしまい、申し訳ありません。 よろしくお願いいたします。 From clammbon.p.q @ gmail.com Sun Jul 10 22:43:29 2011 From: clammbon.p.q @ gmail.com (Kohei TANUMA) Date: Sun, 10 Jul 2011 22:43:29 +0900 Subject: [Ultramonkey-l7-users 429] Re: =?iso-2022-jp?b?U1NMGyRCJE4/NiRqSiwkMSRIQFxCMzg1GyhCSVA=?= =?iso-2022-jp?b?GyRCJSIlSSVsJTkkTjxoRkAkSyREJCQkRhsoQg==?= In-Reply-To: <20110710193718.5693.BEDBFD42@gmail.com> References: <20110710193718.5693.BEDBFD42@gmail.com> Message-ID: 田沼です。 手元に環境がないのでちょっと違ってるかも知れませんが。 まずその環境だと、クライアントと Apache 間で SSL 暗号化されるので 間にある UltraMonkey-L7 で X-Forwarded-For を挿入するのは不可能です。 つまり、最後に挙げた設定が正しい設定です。 しかし、これだとご指摘の通り、Apache のアクセスログに残る IP アドレスは UltraMonkey-L7 の IP アドレスになります。 この問題を解決するため、UltraMonkey-L7 v3 からアクセスしてきたクライアントの IP アドレスをそのまま Apache に対しても見せる機能が追加されたのですが、 CentOS5.6 では使えないはずです。 ということで、解決策としては次の 2 つ。 1. クライアントと UltraMonkey-L7 間で HTTPS 通信を行い、UltraMonkey-L7 と Apache 間は HTTP 通信にし、X-Forwarded-For でクライアント IP アドレスを残す。 http://sourceforge.jp/projects/ultramonkey-l7/docs/uml7-administration_manual_3.0.0_ja/ja/5/uml7-administration_manual_3.0.0_ja.txt こちらの 7 にある SSL 設定ファイルを作成し、l7directord.cf に sslconfigfile として 設定すればいいはずです。 2. CentOS 5.6 から別の OS(※) に変更し、l7directord.cf の現在 masq と 書いてある部分を tproxy に変更し、クライアントの IP アドレスを透過させる。 (※) RHEL6.0, 6.1, Scientific Linux 6.0, Oracle Linux 6.0 あたり。 CentOS6.0 も来週くらいにはリリースされると思います。 理研がフライング公開してるみたいです。 http://ftp.riken.jp/Linux/centos/6.0/isos/x86_64/ 他にも手はあるかもしれませんが、ご確認下さい。 2011年7月10日19:37 : >  竹内です。連続の質問で申し訳ありません。 > >  SSLの振り分けについてなのですが、設定方法が良く分かりません。 > >  やりたいことは、HTTPと同じように下記のように振り分けをしたい、 > ということなのですが…… > > ------------------------------------------------- > g.g.g.1:443 → l.l.l.11.443、l.l.l.12:443 > (g.g.g.nはグローバルIP、l.l.l.nはローカルIPアドレス) > ------------------------------------------------- > > サーバ構成は以下の通りです。 > ------------------------------------------------- > ・g.g.g.1 / l.l.l.1 UM-L7稼働サーバ > ・l.l.l.11 Webサーバ(リアルサーバ) > ・l.l.l.12 Webサーバ(リアルサーバ) > ------------------------------------------------- > >  まず、l.l.l.11とl.l.l.12に通常と同じように、SSLの有効な証明書の > 設定をしました。(各ローカルサーバに共通で1ドメイン分のみです) > > (ssl.confにて、 >> >> ServerName example.jp:443 > >  ・SSLCertificateFile(Webサーバ証明書) >  ・SSLCertificateKeyFile(秘密鍵) >  ・SSLCertificateChainFile(チェーン証明書) >  を指定しました) > > # openssl s_client -connect l.l.l.11:443 > # openssl s_client -connect l.l.l.12:443 > >  を実行すると、 > >> Certificate chain >> (略) /O=example.jp/ >> (略) >> Verify return code: 0 (ok) > >  と設定したFQDNが出ます。 > >  この状態で、l7directord.cfに > ------------------------------------------------- > virtual = g.g.g.1:443 > real = l.l.l.11:443 masq 1 > real = l.l.l.12:443 masq 1 > module = sessionless --forwarded-for > service = https > ------------------------------------------------- >  という記述を追加し、実行してみると、2分以上かかって > タイトルタグのみ出たり、すべて表示されたりする状況になりました。 > (接続元IPアドレスはl.l.l.1で、UM-L7のローカルIPが出ます) > >  そこで、sslidモジュールに記述を変え、 > ------------------------------------------------- > virtual = g.g.g.1:443 > real = l.l.l.11:443 masq 1 > real = l.l.l.12:443 masq 1 > module = sslid --forwarded-for > service = https > ------------------------------------------------- >  とすると、 > > ------------------------------------------------- > [ERR0201] Failed to add virtual service to l7vsd: `g.g.g.1:443 sslid ', > output: `PARSE ERROR: protocol module argument error(--proto-module): > Option error.' > ------------------------------------------------- >  というエラーになります。 > >  とりえあずマニュアルに記述のあった > ------------------------------------------------- > virtual = g.g.g.1:443 > real = l.l.l.11:443 masq 1 > real = l.l.l.12:443 masq 1 > module = sslid > service = https > ------------------------------------------------- >  にすると、接続され、表示速度も問題ないのですが、アクセスログに > 記録されるのはUM-L7のローカルIPで、アクセスしてきたユーザのIPアドレスが > 分からない状態です。 > >  アクセスしてきたユーザのIPアドレスをログに残るようにするには、 > どのように設定したら良いのでしょうか? >  アドバイスをいただけましたら幸甚です。 > >  環境は、 > ・Ultramonkey-L7 V3.0.1(l7vsd、l7directord) > ・CentOS 5.6 > ・Apache2.2.3+MOD_SSL+mod_extract_forwarded >  です。 > >  長くなってしまい、申し訳ありません。 > よろしくお願いいたします。 > > _______________________________________________ > Ultramonkey-l7-users mailing list > Ultramonkey-l7-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users >