haproxy反向ssl终止

时间:2018-05-03 10:13:05

标签: ssl https haproxy

如何使用ha代理实现反向SSL终止? 从我的后端通过HAproxy我需要一个支持https的Web服务。如何通过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 :(得分:3)

使用HAProxy,您通常有两个选项来处理与TLS相关的方案。 TLS PassthroughTLS Termination

TLS Passthrough

看起来你正试图在你给出的例子中这样做。

在此模式下,HAProxy不会以任何方式触及流量,而只是将其转发到后端。当涉及TLS时,这意味着后端必须为其访问的域具有适当的证书 - 如果您的HAProxy正在处理myexample.com的流量,则后端服务器将需要具有{的适当证书已安装{1}}。

您始终可以使用myexample.com

来检查所投放的证书

openssl s_client

TLS终止

或者,您可以在openssl s_client -connect localhost:443本身终止TLS流量。这将允许您使用任何后端(加密和未加密)。在这种情况下,HAProxy本身会解密HAProxy的流量并将其转发到后端。

在您的情况下,配置看起来像:

myexample.com

您可以找到有关这两种方法的更多信息here

希望这有帮助。