Most TLS backends require SNI
When using http termination in the load balancer, sometimes we have to set the SNI manually on the backend server configuration
Haproxy doc for SNI option: https://www.haproxy.com/documentation/haproxy-configuration-manual/latest/#sni
An example of someone encountering the problem: https://hodari.be/posts/2020_09_04_configure_sni_for_haproxy_backends/
(I don't need the httpchk sni settings for my use-case)
Relevant section from /var/run/haproxy.cfg in a typical current configuration:
backend talos-1_be
option httpchk
http-check send meth GET uri /check/healthz
http-check expect status 200
balance roundrobin
option forwardfor
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
mode http
server talos-1 192.168.101.200:443 check port 80 ssl verify noneAnticipated /var/run/haproxy.cfg once a "sni" flag is added to the configuration with "req.hdr(Host)"
backend talos-1_be
option httpchk
http-check send meth GET uri /check/healthz
http-check expect status 200
balance roundrobin
option forwardfor
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
mode http
server talos-1 192.168.101.200:443 check port 80 ssl verify none sni req.hdr(Host)