tech note

インフラ技術や車についてつぶやいていくブログ

BIG-IP iRule ワイルドカードにてURIを判定しPoolへバランシングする例(headerInsertも有り)

f:id:tea_cat:20180911023333j:plain

when HTTP_REQUEST {
   switch -glob [string tolower [HTTP::uri]] {
      "/hoge1/*.html" {
         pool Pool1
      }
      "/hoge2/*.html" {
         pool Pool1
      }
      default {
         pool Pool2
      }
   }
}

さらにHTTPheaderを付与する

when HTTP_REQUEST {
   switch -glob [string tolower [HTTP::uri]] {
      "/hoge1/*.html" {
         HTTP::header insert x-hoge true
         pool Pool1
      }
      "/hoge2/*.html" {
         HTTP::header insert x-hoge true
         pool Pool1
      }
      default {
         pool Pool2
      }
   }
}

Pool1へバランシングした際の戻りの通信にもHTTPheaderを付与する

when HTTP_RESPONSE {
    if { [LB::server pool] equals "/Common/Pool1" } {
        HTTP::header insert x-hoge true
    }
}