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

#  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

时间: 2024-10-10 10:01:17

F5 iRules-----http请求400/500错误时,重置的相关文章

PHP中报500错误时如何查看错误信息

在执行代码中加入下面两行代码即可 ini_set("display_errors","On"); error_reporting(E_ALL); 原文地址:https://www.cnblogs.com/cangqinglang/p/10181784.html

Nginx 500错误总结

Nginx 500错误总结 500(服务器内部错误) 服务器遇到错误,无法完成请求. 501(尚未实施) 服务器不具备完成请求的功能.例如,当服务器无法识别请求方法时,服务器可能会返回此代码. 502(错误网关) 服务器作为网关或代理,从上游服务器收到了无效的响应. 503(服务不可用) 目前无法使用服务器(由于超载或进行停机维护).通常,这只是一种暂时的状态. 504(网关超时) 服务器作为网关或代理,未及时从上游服务器接收请求. 505(HTTP 版本不受支持) 服务器不支持请求中所使用的

http请求出现406错误解决方案

当http请求出现406错误时,会报如下错误: 此时一般需考虑两个问题: 1.查看Jackson包是否存在(springMVC默认依赖Jackson包 ).  2.如果后缀是html是不能响应json数据的,需要修改后缀名. 在做伪静态化过程中,常以以.html结尾的后缀,当做post请求时,不能响应json格式,这是spring官方做出的处理:可以加一个后缀改为.action.如: 这时访问方式变为: 做完以上变更后就可以如期解决406错误啦! 原文地址:https://www.cnblogs

get请求400错误,post请求405错误

get请求400错误,post请求405错误 (2016-08-31 17:19:27) 转载▼     出现错误原因,后台接收参数part使用的是List,参数的属性对不上,传参使用的类型是String,改为post请求之后才发现 此种错误再次发生,确实是后台接受参数类型和前台所传类型不符,导致400错误 附上错误对应 400 - 错误的请求. ·401 - 访问被拒绝.IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因.这些具体的错误代码在浏览器中显示,但不在 IIS 日志中

java使用POST发送soap报文请求webservice返回500错误解析

本文使用JAX-WS2.2编译webservice,并使用HttpUrlConnection的POST方式对wsdl发送soap报文进行请求返回数据, 对错误Server returned HTTP response code: 500 的解决方法进行简单分析. 问题描述: 由于课程需要博主需要自己写一个webservice并且通过soap进行请求, 于是使用JAX-WS编译了下面java代码生成webservice服务 生成webservice的java代码: [java] view plai

ajax请求node.js接口时出现 No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource错误

ajax请求node.js接口出现了如下的错误: XMLHttpRequest cannot load http://xxx.xxx.xx.xx:8888/getTem?cityId=110105&date=2015-03-04. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 百度了一下,原来是

HTTP状态码:400\500 错误代码(个人总结)

一些常见的状态码为: 200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 代码  说明100  (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101  (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换. 2xx (成功)表示成功处理了请求的状态代码. 代码  说明200  (成功)  服务器已成功处理了请求. 通常,这表示

远程服务器返回错误: 404错误、远程服务器返回错误:500错误、 HttpWebResponse远程服务器返回错误:(404、500) 错误。

现象 我们编码实现请求一个页面时,请求的代码类似如下代码: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);req.UserAgent = "MSIE6.0";req.Method = "GET";HttpWebResponse res = (HttpWebResponse)req.GetResponse();StreamReader sr = new StreamReader(res.G

运维神器-分分钟定位500错误!

做过运维的小伙伴都知道,当用户浏览器上出现白屏.应用端API得到500错误.取到数据为空是非常崩溃的一件事情.500错误是服务器端非常常见的一个错误,有可能是开发时导致的语法错误,也有可能是文件引用导致的错误.当用户反馈了 500 错误之后,而我们运维童鞋们面对一个集群的后端服务器,如果没有方便的工具管理和同步,下手查找问题,是一个即耗时又费力的痛苦过程. 在最开始的时候,每次遇到这种情况,我们运维同学们就分别登录几台Web服务器,去查找可能记录错误日志的地方,找出错误的真凶,以让开发童鞋们来改