У меня есть конфигурация haproxy, которая идеально подходит для сервера хранилища в бэкэнде с конфигурацией http и балансирует нагрузку на основе открытого и активного сервера хранилища с использованием кода 200 OK. Это работает для http. Но мы делаем все, чтобы все было https (tls), поэтому проверка работоспособности больше не работает, а haproxy направляет нас на сервер запечатанного хранилища. Как изменить приведенную ниже конфигурацию для поддержки проверки работоспособности бэкэнда https-сервера хранилища? Моя текущая конфигурация для http выглядит следующим образом:
listen vault
bind 0.0.0.0:443
mode tcp
balance roundrobin
option httpchk HEAD /v1/sys/health
http-check expect status 200
option tcplog
option ssl-hello-chk
server web1 <vault 1 IP>:8200 check
server web2 <vault 2 IP>:8200 check
Что-нибудь в этом роде? (Работает для самоподписанных сертификатов)
...
server web1 <vault 1 IP>:8200 check ssl verify none
server web2 <vault 2 IP>:8200 check ssl verify none
...
Наконец, я заставил это работать, добавив check-ssl verify no more info здесь, в документации: https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#check-ssl
listen vault
bind 0.0.0.0:443
mode tcp
balance roundrobin
option httpchk HEAD /v1/sys/health
http-check expect status 200
option tcplog
option ssl-hello-chk
server web1 <vault 1 IP>:8200 check check-ssl verify none
server web2 <vault 2 IP>:8200 check check-ssl verify none