我试图configurationHaproxy来反向代理一个postgres服务器。 我必须和客户有沟通。
我无法在haproxy中configurationssl终止(正如我为其他http服务所做的那样),因为它不被支持,所以我在postgres上激活ssl并安装了让我们encryption证书。 在本地networking上,直接访问(没有Haproxy),这是工作正常,但与Haproxy不是。 Haproxy很好的接收连接,但不传递给postgres(使用tcpdump进行检查)。
我激活健康检查(请参阅configuration)来find问题,但现在我得到了健康检查的错误。
Server sql-backend/pg_experimental_server is DOWN, reason: Layer6 invalid response, info: "SSL handshake failure", check duration: 1ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
所以每当我尝试连接,我得到了(我没有检查相同):
ROUTER_IP [05/Nov/2017:23:09:06.193] sql-01 sql-01/<NOSRV> -1/-1/0 0 SC 0/0/0/0/0 0/0
configuration:
frontend sql-01 bind *:5432 mode tcp option tcplog acl xxx_db_experimental_acl hdr(host) FQDN use_backend sql-backend if xxx_db_experimental_acl backend sql-backend mode tcp option pgsql-check server pg_experimental_server [insert some pgsql local IP here]:5432 check ssl verify none maxconn 64 ca-file /etc/letsencrypt/live/FQDN/fullchain.pem
我不明白为什么Haproxy在没有健康检查时找不到服务器
帮助非常感谢