可以访问haproxy负载均衡器后面的特定机器进行运行状况检查

时间:2016-04-28 14:58:46

标签: haproxy

我有一个由haproxy负载均衡器背后的几台机器提供服务的网站。现在它使用基于cookie的粘性会话。我使用uptimerobot来检查机器的运行状况,但我无法将其配置为使用cookie,我不希望负载均衡器成为互联网的唯一开放点。

有没有办法配置负载均衡器以通过url参数访问计算机?

1 个答案:

答案 0 :(得分:1)

有一种方法,但不建议。在配置中,创建重复的后端块和基于url_param的ACL,以根据URL参数将请求路由到特定服务器。

示例:

frontend fe
    bind x.x.x.x:80
    bind x.x.x.x:443 ssl crt.. blah
    ...
    default_backend www

    acl is_healthchk_s1 url_param(CHECK) -i s1
    acl is_healthchk_s2 url_param(CHECK) -i s2
    acl is_healthchk_sn url_param(CHECK) -i sn

    use_backend be_healthchk_s1 if is_healthchk_s1
    use_backend be_healthchk_s2 if is_healthchk_s2
    use_backend be_healthchk_sn if is_healthchk_sn

backend www
    server s1 x.x.x.x:8080 check
    server s2 x.x.x.x:8080 check
    server sn x.x.x.x:8080 check

backend be_healthchk_s1
    server s1 x.x.x.x:8080 check
backend be_healthchk_s2
    server s2 x.x.x.x:8080 check
backend be_healthchk_s3
    server s3 x.x.x.x:8080 check

因此,您的正常运行时机器人可以检查这些:

  • domain.com/?CHECK=s1
  • domain.com/?CHECK=s2
  • domain.com/?CHECK=sn