如何使用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
答案 0 :(得分:3)
使用HAProxy,您通常有两个选项来处理与TLS相关的方案。 TLS Passthrough
和TLS Termination
。
看起来你正试图在你给出的例子中这样做。
在此模式下,HAProxy
不会以任何方式触及流量,而只是将其转发到后端。当涉及TLS时,这意味着后端必须为其访问的域具有适当的证书 - 如果您的HAProxy
正在处理myexample.com
的流量,则后端服务器将需要具有{的适当证书已安装{1}}。
您始终可以使用myexample.com
openssl s_client
或者,您可以在openssl s_client -connect localhost:443
本身终止TLS流量。这将允许您使用任何后端(加密和未加密)。在这种情况下,HAProxy
本身会解密HAProxy
的流量并将其转发到后端。
在您的情况下,配置看起来像:
myexample.com
您可以找到有关这两种方法的更多信息here。
希望这有帮助。