[Ultramonkey-l7-users 108] Re: “HTTP メソッドベース ロードバランシング” につきまして

Back to archive index

Kouhei TANUMA clamm****@gmail*****
2008年 2月 20日 (水) 23:54:23 JST


東さん

動作確認していただきありがとうございます。
すいません、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 側でエラー処理するといった感じなのでしょうか?





Ultramonkey-l7-users メーリングリストの案内
Back to archive index