Назад | Перейти на главную страницу

Haproxy Healthcheck и генерация серверной части

У меня много сайтов, и я хочу выполнить http-проверку работоспособности каждого из них. Значит ли это, что мне нужно делать бэкэнд-раздел для каждого сайта? Если так, мне нужно как-то его сгенерировать. Могу ли я добиться этого с помощью шаблонов или может быть с чем-то вроде ансибля?

Пример одного из разделов backend:

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

Нашел решение с доступным шаблоном и 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 %}