У меня есть хост балансировки нагрузки, хост db и хост keycloak. Ssl-сертификат домена xyz.info находится на балансировщике нагрузки haproxy, сервер keycloak имеет свой собственный ssl-сертификат для субдомена kc.xyz.info, а db-сервер не имеет или не нуждается в своем собственном сертификате.
Я хотел бы завершить ssl-запросы к базе данных и иметь haproxy для обработки аспекта ssl. Однако для сервера keycloak я бы хотел использовать сквозной ssl, и чтобы сервер keycloak обрабатывал свою собственную расшифровку ssl; весь трафик для субдомена kc обрабатывается через acl.
Трафик на БД работает, но я не могу заставить сервер переадресации keycloak работать. Я получаю сообщение об ошибке, в котором говорится, что сертификат предназначен для xyz.info вместо kc.xyz.info, что я и пытаюсь настроить с помощью «mode tcp».
Можно ли смешивать на одном экземпляре haproxy как ssl-завершение, так и ssl-прохождение?
То, что я имею до сих пор:
frontend lb
bind *:80
bind *:443 ssl crt /etc/letsencrypt/live/xyz.info/xyz.pem
redirect scheme https if !{ ssl_fc }
mode http
acl kc hdr(host) -i kc.xyz.info
use_backend keycloak if kc
default_backend db
backend db
mode http
option forwardfor
server db xx.xx.xx.xx:80
backend keycloak
mode tcp
option ssl-hello-chk
server keycloak xx.xx.xx.xx:80