質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。

Q&A

1回答

8579閲覧

BIG-IP: iRuleの書き方

skksky

総合スコア30

負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。

0グッド

0クリップ

投稿2017/06/22 06:07

参考URLにあるi-Ruleの表記で分からない部分があります。

参考URL
big-ipをsorry-serverとして利用するirule

上記コードclass match -value 1 equals maint_index_html1が何をさしているのか分からないのですが、ご教示頂けますでしょうか。

when HTTP_REQUEST { log local0. "Request start [HTTP::uri]" log local0. "Request continue" set uri [HTTP::uri] log local0. "URI [HTTP::uri]" log local0. "main_prefix = $static::maint_prefix" if { $uri equals $static::maint_prefix } { HTTP::respond 301 "Location $static::maint_prefix" return } if { $uri starts_with $static::maint_prefix } { set uri [string range $uri $static::maint_len end] log local0. "here" switch $uri { "/" - "/index.html" { HTTP::respond 200 content [class match -value 1 equals maint_index_html] "Content-Type" "text/html" } "/logo.png" { HTTP::respond 200 content [b64decode [class match -value 1 equals maint_logo_png]] "Content-Type" "image/png" } default { HTTP::respond 404 } } return } if { [active_members http_pool] < 1 } { HTTP::redirect "$static::maint_prefix/index.html" return } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ご質問の 1 は,data-group である 'maint_index_html' の 1番目のレコードを意味しています.

https://clouddocs.f5.com/api/irules/class.html

class match [<options>] <item> <operator> <class> class match attempts to match the provided <item> to an element in <class> by applying the <operator> to the <item>. The return value depends on the option specified. If no option was specified, the return value is 1 for a match and 0 for a no-match. See discussion below regarding options.

class match -value 1 equals maint_index_html

質問のコマンドですが,上記の command syntax に当てはめると,
-value が <optoins>
1 が <item>
equals が <operator>
maint_index_html が <class>
です.

仮に,-value を省いて以下のコマンドにすると,このコマンドの return は 1 になるでしょう.

class match 1 equals maint_index_html

そうすると,以下と同等ということになり,ブラウザは 1 とだけ表示して,sorry server としては意味不明の表示になってしまいます.

{ HTTP::respond 200 content 1 "Content-Type" "text/html" }

ここでは,data-group (class) に書いてある html のコンテンツ (value部分) を return として得たいのです.したがって,return を 0,1 ではなくて,data-group (class) の value 部分を return するようにと指示しています.

投稿2019/11/08 03:30

pied_piper

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問