Ubuntu HAProxy-停止来自服务器的500个餐饮请求

Ubuntu HAProxy-停止来自服务器的500个餐饮请求,ubuntu,haproxy,Ubuntu,Haproxy,当bankend服务器发送500个请求时,是否有任何方法停止满足HAProxy向服务器发送的进一步请求 当服务器收到SIGINT这样的信号时,它将开始服务“500服务器内部错误”。所以,当HAProxy检测到来自服务器的500个响应时,它是否能够停止对服务器的进一步请求 有一个宏“on error”,默认情况下在服务器部分启用。试着那样做并没有产生任何结果。例如: server nucleus_server1 127.0.0.1:12341 check on-error mark-down 。

当bankend服务器发送500个请求时,是否有任何方法停止满足HAProxy向服务器发送的进一步请求

当服务器收到SIGINT这样的信号时,它将开始服务“500服务器内部错误”。所以,当HAProxy检测到来自服务器的500个响应时,它是否能够停止对服务器的进一步请求

有一个宏“on error”,默认情况下在服务器部分启用。试着那样做并没有产生任何结果。例如:

server nucleus_server1 127.0.0.1:12341 check on-error mark-down
。标记时的宏无法与此一起工作


有什么想法吗?

您正在使用
httpchk
选项吗?对于不是2xx或3xx的响应,它将失败,HAProxy将停止向该机器发送流量

从:

但它可以简单到:

    option httpchk GET /_health

其中,
/\u health
返回一个良好的状态代码。

如果希望HAProxy根据此服务器发送的返回代码将服务器标记为关闭,请在服务器定义中添加“遵守第7层”选项。例如,它可能看起来像:

server nucleus_server1 127.0.0.1:12341 check on-error mark-down observe layer7 error-limit 1
这意味着,如果nucleus_server1向任何客户端请求返回500,它将从池中删除。通过“错误限制”,您可以配置必须返回多少500才能将此服务器标记为“关闭”

如果内部HAProxy检查成功(默认为2次),服务器将再次标记为“启动”


查看:检查、下降、上升、错误限制,观察HAProxy文档中的选项以了解更多信息。

注意,这与原始配置不同。通过检查,HAProxy执行活动请求,并仅检查这些请求的结果。它不会检查“常规”交通。为此,您必须使用
在错误标记上遵守第7层错误限制10
或@user3365898回答的类似内容。您还需要启用检查。
server nucleus_server1 127.0.0.1:12341 check on-error mark-down observe layer7 error-limit 1