Для Haproxy у вас не правильно настроен frontend если вы хотите рулить на уровне TCP без терминации SSL вам необходимо заменить
frontend https_frontend_ssl_pass
mode tcp
bind *:443
use_backend site1 if { ssl_fc_sni site1.ru }
use_backend site2 if { ssl_fc_sni site2.ru }
backend site1
mode tcp
server site1 192.168.88.102:443 send-proxy
backend site2
mode tcp
server site12 192.168.88.111:443 send-proxy
На этот:
frontend https_frontend_ssl_pass
mode tcp
option tcplog
tcp-request inspect-delay 3s
tcp-request content accept if { req_ssl_hello_type 1 } or !{ req_ssl_hello_type 1 }
use_backend site1 if { req.ssl_sni -i site1.ru }
use_backend site2 if { req.ssl_sni -i site2.ru }
backend site1
mode tcp
server site1 192.168.88.102:443 send-proxy
backend site2
mode tcp
server site12 192.168.88.111:443 send-proxy
ssl_fc_sni отвечает за терминацию