haproxy обратная связь ssl - PullRequest
0 голосов
/ 03 мая 2018

Как я могу добиться обратного завершения SSL с прокси-сервером? Из моего бэкэнда через HAproxy мне нужен веб-сервис с поддержкой https. Как я могу успешно прокси весь трафик к этому сервису через HAProxy?

Ниже приведены результаты в Unable to communicate securely with peer: requested domain name does not match the server's certificate.

frontend foofront
    bind 127.0.0.1:443
    mode tcp
    default_backend foo

backend fooback
    mode tcp
    balance leastconn
    server foo foo.bar.com:443  check

1 Ответ

0 голосов
/ 04 мая 2018

С HAProxy у вас обычно есть два варианта для обработки сценариев, связанных с TLS. TLS Passthrough и TLS Termination.

TLS Passthrough

Похоже, вы пытаетесь сделать это в приведенном вами примере.

В этом режиме HAProxy никак не затрагивает трафик, а просто перенаправляет его на сервер. Когда задействован TLS, это означает, что бэкэнд должен иметь надлежащий сертификат для домена, к которому он обращается - если ваш HAProxy обрабатывает трафик для myexample.com, на бэкэнд-серверах должны быть установлены соответствующие сертификаты для myexample.com.

Вы всегда можете проверить, какой сертификат обслуживается, используя openssl s_client:

openssl s_client -connect localhost:443

TLS Termination

Кроме того, вы можете завершить трафик TLS на самом HAProxy. Это позволит вам использовать любой бэкэнд (как зашифрованный, так и незашифрованный). В этом случае HAProxy сам расшифровывает трафик для myexample.com и перенаправляет его на сервер.

В вашем случае конфигурация будет выглядеть примерно так:

frontend foofront
    bind 127.0.0.1:80
    bind 127.0.0.1:443 ssl crt /path/to/cert/for/myexample.com
    mode tcp
    default_backend foo

backend foo
    mode tcp
    balance leastconn
    server foo foo.bar.com:443 check ssl verify none # or verify all to enforce ssl checking

Вы можете найти больше информации об обоих подходах здесь .

Надеюсь, это поможет.

...