HAproxy 对 https 后端进行健康检查

HAproxy 对 https 后端进行健康检查

我有 haproxy 配置,它非常适合后端的 vault 服务器,具有 http 配置,并且它使用 200 OK 代码根据未密封和活动的 vault 服务器进行负载平衡。这适用于 http。但是我们将所有内容都设置为 https (tls),因此健康检查不再起作用,haproxy 将我们引导到密封的 vault 服务器。如何修改以下配置以支持 https vault 服务器后端的健康检查?我当前的 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

答案1

最后,我通过在文档中添加 check-ssl verify none 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

答案2

类似这样的事?(适用于自签名证书)

...
server web1 <vault 1 IP>:8200 check ssl verify none 
server web2 <vault 2 IP>:8200 check ssl verify none
...

参考:haproxy 文档上的 ssl 参考

相关内容