我有 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
...