From shohei @ plugandplaytechcenter.com Sat Feb 23 04:05:32 2008 From: shohei @ plugandplaytechcenter.com (Shohei Azuma) Date: Fri, 22 Feb 2008 11:05:32 -0800 Subject: [Ultramonkey-l7-users 109] Re: =?utf-8?b?4oCcSFRUUCDjg6Hjgr3jg4Pjg4njg5njg7zjgrkg44Ot44O8?= =?utf-8?b?44OJ44OQ44Op44Oz44K344Oz44Kw4oCdIOOBq+OBpOOBjeOBvuOBlw==?= =?utf-8?b?44Gm?= In-Reply-To: <6d0a157f0802200654x45c196dcs6e61d48ee793d5b3@mail.gmail.com> References: <1203032351.12300.13.camel@PnP-nc6320-SA> <20080215085403.4f6ac936.takebayashi.shinya@nttcom.co.jp> <1203096616.12300.24.camel@PnP-nc6320-SA> <6d0a157f0802151022o4278400an262fa51a1bdc0cd4@mail.gmail.com> <1203445885.12300.66.camel@PnP-nc6320-SA> <6d0a157f0802200654x45c196dcs6e61d48ee793d5b3@mail.gmail.com> Message-ID: <1203707132.8974.3.camel@PnP-nc6320-SA> 田沼様、 お返事ありがとうございます。 NDAにサインしているため社名は公開できませんが if POST and http://api-dev.xxxx.com/?action=external.main&method=search&type=singing then HOST 1 Else HOST 2 のようなバランシングを考えておりました。 東 -----Original Message----- From: Kouhei TANUMA To: Shohei Azuma Cc: ultramonkey-l7-users @ lists.sourceforge.jp Subject: Re: [Ultramonkey-l7-users 105] Re: “HTTP メソッドベース ロード バランシング” につきまして Date: Wed, 20 Feb 2008 23:54:23 +0900 東さん 動作確認していただきありがとうございます。 すいません、PATTERN が何を意味しているのかわからないのですが、 Request URL(URI)の一部と想定して回答します。(URLモジュール使用) 間違っていましたら、詳細をお教えください。 現状ですと同一の仮想IPアドレスに対する複数の振り分け方法の設定としては OR 条件しか設定できません。 そのため、AND 条件の設定はできないのですが、以下のように別の仮想IPアドレスに 振り直すことで同様の動きとなります。 External-VIP:80 IF POST THEN Internal-VIP:8888 ELSE HOST2 Internal-VIP:8888 IF PATTERN THEN HOST1 ELSE HOST2 l7directord.cf だと以下のようになります。 (PATTERN を 'cgi-bin' としています) #----- # POSTリクエスト を InternalVIP:8888 に転送 virtual=ExternalVIP:80 real=InternalVIP:8888 masq module=httpmethod --method 'POST' checktype=connect scheduler=rr protocol=tcp # POSTリクエスト以外は、HOST2 virtual=ExternalVIP:80 real=HOST2:80 masq module=sessionless checktype=connect scheduler=rr protocol=tcp # POSTリクエストで転送されてきたものの URL に cgi-bin が含まれる場合は、HOST1 virtual=InternalVIP:8888 real=HOST1:80 masq module=url --pattern-match 'cgi-bin' checktype=connect scheduler=rr protocol=tcp # cgi-bin が含まれない場合は、HOST2 virtual=InternalVIP:8888 real=HOST2:80 masq module=sessionless checktype=connect scheduler=rr protocol=tcp #----- 以上、ご確認ください。 なお、よろしければで結構ですが、どのような場合にこのような設定をするのか 後学のために教えていただけますでしょうか。 HOST1 で POST による特定の処理を行い、かつ、通常来ないはずのGETなどでの 不正アクセスを HOST2 側でエラー処理するといった感じなのでしょうか? -- Shohei Azuma PlugandPlayTechCenter -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... URL: http://lists.sourceforge.jp/mailman/archives/ultramonkey-l7-users/attachments/20080222/ea12eb54/attachment.htm