Как перенаправить действительный SSL-трафик через Haproxy на локальные бэкэнды

У меня есть инфраструктура с балансировкой нагрузки, в которой есть haproxy-сервер в качестве балансировщика нагрузки и некоторые серверы apache в качестве бэкэндов. Я хочу перенаправить трафик https на серверные. Я знаю, что есть два типа выполнения: SSL Termination, который обрабатывает шифрование / дешифрование SSL на haproxy-сервере, и SSL Pass-Through, который перенаправляет трафик https на внутренний сервер. вот моя конфигурация для haproxy:

global
    log         127.0.0.1 local2     #Log configuration
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy             
    group       haproxy
    daemon
    stats socket /var/lib/haproxy/stats
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
frontend http_main
    bind *:80
    mode http
    option http-server-close
    option forwardfor
    default_backend app-main
backend app-main
    balance roundrobin
    server web1 192.168.1.25:80

frontend https_main
    bind *:443
    mode tcp
    option tcplog
    default_backend app-ssl

backend app-ssl
    balance roundrobin                                    
    mode tcp
    option ssl-hello-chk
    server web1 192.168.1.25:443 ssl no-sslv3

Мой внутренний сервер также имеет публичный IP-адрес. Когда я проверяю свой домен с общедоступным IP-адресом внутреннего сервера, я могу правильно видеть веб-сайт с проверенным SSL в браузере. Но когда я хочу проверить домен с IP-адресом балансировщика нагрузки, я получаю следующую ошибку в Firefox:

An error occurred during a connection to mydomain.com. SSL received a record that exceeded the maximum permissible length. Error code: SSL_ERROR_RX_RECORD_TOO_LONG

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the web site owners to inform them of this problem.

Я добавил локальный IP-адрес 192.168.1.25 в httpd.conf внутреннего сервера для конфигураций виртуальных хостов http и https. Я думаю, что проблема заключается в проверке SSL-сертификата с внутреннего сервера. Но я понятия не имею, как решить эту проблему.
Любая помощь приветствуется.

0 ответов

Другие вопросы по тегам