Haproxy 使用 ssl 重定向 Mysql

Haproxy 使用 ssl 重定向 Mysql

我在寻找是否可以使用 haproxy 来平衡带有 ssl 的 mysql 服务器。我只找到了如何与 http 一起使用,但在这种情况下我们需要启用此选项。

目前具体配置是

listen mysql-cluster
   bind 0.0.0.0:3307 ssl crt /etc/ssl/certs/cert.pem
   mode tcp   
   option mysql-check user admin  
   server mysql1 192.168.1.110:3307

我需要使用哪些选项才能无需前端直接连接到服务器?

如果我评论 ssl 部分

   bind 0.0.0.0:3307 #ssl crt /etc/ssl/certs/cert.pem

连接完美,那么我需要添加什么?

答案1

缺少一个重要信息:您的客户端是什么,您如何连接到 haproxy-ssl-proxyied Mysql?

在您的配置中,Haproxy 不会“说”mysql,它只会说 TCP,添加 SSL 选项将在 TCP 流的顶部添加一个通用 SSL 层,该层将按原样转发。

如果您使用标准 mysql 客户端,它将无法工作,处理 SSL 在 mysql 协议中是“本机的”,并且很可能不是通过简单地使用 SSL 层“封装”流,因此它不适用于您的设置。

如果保留此配置,则将需要在连接的另一端使用类似“stunnel”之类的东西来向客户端提供本机的“un-SSL”流。

你应该使用有效的 SSL 配置来设置你的 mysql 服务器,并在 tcp 模式 + 代理协议中使用 haproxy 来将所有内容和原始 IP 委托给你的 mysql

相关内容