一个 F5 irule 的例子

//完成根据HTTP请求的uri组成,选用不用的节点池作为投递目标的例子

 

 

when HTTP_REQUEST
{
   set pool "Pool"
   if { [HTTP::method] == "GET" }
   {
       set URI [HTTP::uri]
       set URI_MID [lindex [split $URI "/"] 2]
       if { [ matchclass $URI_MID starts_with $::MMSCAR_serverid_class ] }
       {
         set SVRNUM [substr $URI_MID 0 2]
         set PN [join "svr $SVRNUM" ""]
         set pool_name [join "MMSCAR $pool $PN" "_"]
         pool $pool_name
       }
       else
       {
         pool MMSCAR_Pool_svr00
       }
   }
   elseif { [HTTP::method] == "POST" }
   {
        HTTP::collect 40
   }
}

when HTTP_REQUEST_DATA
{
     set HTTP_CONTENT [HTTP::payload]
     set MMS_RES [ string range $HTTP_CONTENT 0 2]
     set M_notifyresp_ind  /x8c/x83/x98
     set M_acknowledge_ind /x8c/x85/x98
     set M_forward_req     /x8c/x89/x98
     if { ($MMS_RES == $M_notifyresp_ind) or ($MMS_RES == $M_acknowledge_ind) or ($MMS_RES == $M_forward_req) }
     {
        if { [ matchclass $HTTP_CONTENT starts_with $::MMSCAR_serverid_class ] }
        {
           set SVRNUM [substr $HTTP_CONTENT 2 4]
           set PN [join "svr $SVRNUM" ""]
           set pool_name [join "MMSCAR $pool $PN" "_"]
           pool $pool_name
        }
        else
        {
           pool MMSCAR_Pool_svr00
        }
     }
     else
     { 
        pool MMSCAR_Pool_svr01
     }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值