У меня есть инфраструктура с балансировкой нагрузки, в которой есть сервер haproxy в качестве балансировщика нагрузки и несколько серверов Apache в качестве бэкэндов. Я хочу перенаправлять трафик https на серверы. Я знаю, что есть два типа этого: завершение SSL, которое обрабатывает шифрование / дешифрование 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-сертификата на внутреннем сервере. Но я не знаю, как это решить.
Любая помощь приветствуется.