BigIP F5 irule http_response变量在lb_selected事件发生之前重置

时间:2013-04-02 18:49:47

标签: big-ip f5

我将尝试尽可能具有描述性,因为我没有接受过F5负载平衡器培训。基本上我有一个看起来像这样的iRule(伪代码):

when HTTP_REQUEST { 
set host_num=0
if uri contains /serv prefix
       set host_num=(digit after /serv) 

}

when LB_SELECTED {
    if { $host_num != 0 } {
            #reselect the appropriate pool member that corresponds to the host_num
    }
}

我的问题基本上是我的host_num变量在我在HTTP_REQUEST中设置它以及我在LB_SELECTED事件中实际需要它时之间丢失了。

这个系统多年来一直运作良好。直到几天前我尝试添加另一个强制所有http流量为http 1.0而不是1.1的irule。我删除了这个irule,但这个问题仍然存在。我缺少HTTP配置文件中的设置吗?我已经检查了我的其他irules并且没有一个有可能覆盖它的host_num变量,那么可能会发生什么?

1 个答案:

答案 0 :(得分:2)

我相信你在这里有一个tcl错误,变量赋值不能包含等号。

例如

set host_num 0
...
if { .... } {
    set host_num (....)
}

您是否在/ var / log / ltm日志中看到任何错误消息?

我会尝试在代码中添加日志记录语句来跟踪变量值的变化。