Проверка работоспособности 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 %}