如何通过反向代理将 TCP 请求转发到多个数据服务(Mysql、hadoop、Aurora、mssql 等)

如何通过反向代理将 TCP 请求转发到多个数据服务(Mysql、hadoop、Aurora、mssql 等)

我正在尝试解决一个架构设计难题,它是关于设计一个基础设施以尽可能保证数据和服务器的安全/隐藏,要求如下:

*我想隐藏我的基础设施的内部设计(带有公共和私有主机的多个数据服务器)

*我想使用相同的 IP 地址访问每个服务,并根据某些内容(cookie、uri、端口或其他内容)将查询转发到正确的服务器

*必须使用 SSL/TLS 加密来访问数据服务

仔细研究了这些要求之后,我考虑使用反向代理并仅通过反向代理服务器授予对所有数据服务的访问权限,反向代理的另一个优点是使用 ssl/tls 加密一次性强制执行访问身份验证,无需单独配置每个端点。

我真正的问题是我没有找到任何可以重定向 TCP 流量(例如 mysql 请求)的反向代理,并且对于仅支持 HTTP 请求的静态负载平衡算法也是如此(例如 haproxy)

知道如何解决这个问题吗?

谢谢大家

答案1

尝试使用 haproxy。我认为这就是你要找的。你可以谷歌一下,看看他们的网站,你也可以从观看中受益

答案2

HAProxy 是 HTTP 的代理和负载均衡器,TCP。它支持您可能需要的基于 TCP 有效负载的路由。

对于 HTTP 流量,您可以强制执行 SSL/TLS。

TCP 是特定于应用程序的。要么应用程序支持 SSL/TLS,要么您必须建立隧道连接。

相关内容