Haproxy 健康检查和后端部分生成

Haproxy 健康检查和后端部分生成

我有很多网站,我想对每个网站进行 http 健康检查。这是否意味着我需要为每个网站创建一个后端部分?如果是这样,我需要以某种方式生成它。我可以用模板来实现它吗?或者可以用 ansible 之类的东西来实现吗?

后端部分之一的示例:

backend domain1.com
  redirect scheme https if !{ ssl_fc }
  option httpchk GET /healthcheck HTTP/1.1\r\nHost:\ domain1.com
  default-server inter 1s fall 3 rise 2
  http-check expect ! rstatus ^5
    server server01 server01:443 check ssl verify none
    server server02 server02:443 check ssl verify none

答案1

找到了使用 ansible 模板和 Jinja2 的解决方案。

变量:

---
sites:
  - domain1.com
  - domain2.com

模板:

{% for site in sites %}
backend {{ site }}
  redirect scheme https if !{ ssl_fc }
  option httpchk GET /healthcheck HTTP/1.1\r\nHost:\ {{ site }}
  default-server inter 1s fall 3 rise 2
  http-check expect ! rstatus ^5
    server server01 server01:443 check ssl verify none
    server server02 server02:443 check ssl verify none
{% endfor %}

相关内容