问题似乎很简单,但我找不到合适的答案。
在haproxy中我有1个后端,说:
和2个前端,说:
在后端节中,我想设置一个“超时服务器”参数,但是,仅当连接来自前端-1时。
由于我没有找到任何东西,我试图弄清楚自己:
backend backend-1
bind *:80
option <blahblah_option>
timeout server 1d if frontend frontend-1
这种语法不起作用,我提到它是为了让我理解我想要实现的目标。
答案 0 :(得分:2)
在HAProxy中这是不可行的。 稍后,您将能够使用tcp-request和http-request规则设置超时。
我们现在通常要解决的问题是,我们使用相同的参数设置2个后端,但是不同的超时服务器。 当一些网址只需要很长的服务器超时时,这很有用。
编辑后续关于多项健康检查的评论: 嗯,这就是为什么服务器跟踪&#39;指令存在:
backend my_app
server srv1 10.0.0.1:80 check
backend my_app_longtime
server srv1 10.0.0.1:80 track my_app/srv1
在上面的配置中,my_app_longtime后端的服务器不会被检查。也就是说,它会跟后端my_app中的srv1跟进相同的状态。
巴普蒂斯特
巴普蒂斯特
答案 1 :(得分:0)
我是这样做的并且有效。它使得可以在特定的应用程序URL上延长超时,这更耗时。用于跟踪健康检查 - 感谢Babtiste。
frontend www-http
bind 10.0.0.1:80
default_backend app
acl long_url path_beg -i /long_url
use_backend app-extended if long_url
backend app
server web-1 10.0.0.2:80 check
backend app-extended
server web-1 10.0.0.2:80 trace app/web-1
timeout server 10m