Я пытаюсь сделать что-то вроде этого:
В настоящее время я не уверен, как достичь этой цели с помощью HAProxy. Я попытался создать внешнее прослушивание на настраиваемом порту, а затем перенаправить на внутренний сервер. Это моя конфигурация HAProxy:
frontend manager_https
bind *:8443
mode tcp
log global
maxconn 2000
timeout client 50000
default_backend https_be
backend https_be
timeout connect 5000
timeout server 50000
retries 3
server rtmp-manager 127.0.0.1:12345 check-ssl verify none
К сожалению, это не работает. Когда клиенты отправляют HTTP-запрос, HAProxy также перенаправляет HTTP-запрос на внутренний сервер, а не на HTTPS. Как я могу изменить конфигурацию, чтобы она работала должным образом?
Другой вопрос: есть ли способы сделать разгрузку прозрачной для клиента с помощью HAProxy?
Буду очень признателен за любую помощь!
Укажите ssl
директиву в определении вашего внутреннего сервера, например:
server rtmp-manager 127.0.0.1:12345 check-ssl ssl verify none
Обратите внимание, что check-ssl
опция влияет только на проверки работоспособности, и если ssl
указан, его можно не указывать, поскольку проверка работоспособности выполняется автоматически через SSL.
HAProxy должен действовать как прозрачный обратный прокси, поэтому клиенты не должны осознавать, что запросы фактически обрабатываются внутренними серверами.