![Haproxy 健康检查和后端部分生成](https://linux22.com/image/730781/Haproxy%20%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5%E5%92%8C%E5%90%8E%E7%AB%AF%E9%83%A8%E5%88%86%E7%94%9F%E6%88%90.png)
我有很多网站,我想对每个网站进行 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 %}