Сценарий: у нас есть два сервера, которые находятся в разных сетях. Мы хотим иметь ssl-связь от клиента к интерфейсу и от интерфейса к серверной части!
внешний интерфейс может получить трафик ssl и завершить ssl, после этого в серверной части ssl-связи не происходит ошибка, как
"Серверные узлы / web02 ВЫКЛЮЧЕНЫ, причина: недопустимый ответ уровня 6, информация: «Ошибка подтверждения SSL», продолжительность проверки: 546 мс »
Это мой файл конфигурации hapoxy
global
log 127.0.0.1 local1 debug
maxconn 4000
daemon
uid 99
gid 99
stats socket /tmp/haproxy.stats level admin
defaults
mode http
log global
option forwardfor
option http-server-close
timeout server 5s
timeout connect 5s
timeout client 5s
frontend www-https
bind <Ip-address>:443 ssl crt /home/user/SSL/domain-name.in.pem
reqadd X-Forwarded-Proto:\ https
default_backend nodes
backend nodes
balance roundrobin
cookie JSESSIONID prefix indirect nocache
server web01 <IP-address>:8443 ssl verify none check cookie web01
server web02 <IP-address>:8443 ssl crt /home/SSL/domain-name.in.pem ca-file /home/SSL/gdig2.crt verify required check cookie web02
любая помощь в этом очень ценится
Мы хотим иметь ssl-связь от ... интерфейса к серверной части
В этом нет смысла: нет TCP-связи между интерфейсом haproxy и сервером haproxy. Это внутреннее логическое отображение процесса haproxy. Ваш фактический внутренний TLS настраивается на самом внутреннем сервере. <IP-address>:8443
из web02
.
Так что SSL handshake failure
вы получаете результат из-за того, что HAproxy не может аутентифицировать сертификат web02, используя данный ca-file
сертификат. Или ваша аутентификация клиента не работает (тот, который указан через server web02 ... ssl crt ...
). Смотрим на бэкэнд-строку:
server web02 <IP-address>:8443 ssl crt /home/SSL/domain-name.in.pem ca-file /home/SSL/gdig2.crt verify required check cookie web02
Вы уверены, что хотели использовать аутентификацию клиента? Если да, проверьте свой сертификат клиента: для меня очень необычно использовать тот же сертификат для аутентификации клиента, который вы также используете для обслуживания TLS в своей спецификации haproxy на внешнем интерфейсе (/home/SSL/domain-name.in.pem
).