我会尽量做到描述性的,因为我在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,但是这个问题仍然存在。HTTP配置文件中是否有我遗漏的设置?我已经检查了我的其他irules,它们都没有一个host_num变量可以覆盖它,那么会发生什么呢?
发布于 2013-05-06 18:30:13
我相信你这里有一个tcl错误,变量赋值不能包含等号。
例如:
set host_num 0
...
if { .... } {
set host_num (....)
}您是否在/var/ log /ltm日志中看到任何错误消息?
我会尝试在代码中添加日志记录语句来跟踪变量值的变化。
https://stackoverflow.com/questions/15771997
复制相似问题