码迷,mamicode.com
首页 > 其他好文 > 详细

F5 iRules-----http请求400/500错误时,重置

时间:2014-07-04 00:48:07      阅读:681      评论:0      收藏:0      [点我收藏+]

标签:f5   irules   

#  400/500错误重试
#
#当服务返回400/500状态且当前pool中有存活的node重置http请求,并重新选择pool中的node。
#直到返回正常代码或者轮询完所有存活node后,接受新的http请求


when CLIENT_ACCEPTED {
	set retry 0
}

when HTTP_REQUEST {
	set http_request [HTTP::request]
}


when HTTP_RESPONSE {
	if { ([HTTP::status] starts_with "4") || ([HTTP::status] starts_with "5")} {
		incr retry
		if { $retry <= [active_members [LB::server pool]] } {
			HTTP::retry $http_request
		} else {
			set retry 0
		}	
		
	} else {
		set retry 0
	}
}

when LB_SELECTED {
	log local0.info "Run $retry"
	if { ($retry > 0) && ($retry <= [active_members [LB::server pool]])} {
		LB::reselect pool [LB::server pool]
	}
}


F5 iRules-----http请求400/500错误时,重置,布布扣,bubuko.com

F5 iRules-----http请求400/500错误时,重置

标签:f5   irules   

原文地址:http://centaurs1987.blog.51cto.com/4143755/1434118

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!