【发布时间】:2017-11-26 14:58:00
【问题描述】:
我在私有网络中有一些 mysql 主机,并且想使用反向代理服务器(即 nginx)通过反向代理服务器将 mysql-client 连接到 mysql 主机。
一个更好地理解我的答案的例子:
假设我已经:
- 一个ip为yyy.1的mysql服务器
- 一个ip为yyy.2的mysql服务器
都在 ip XXX 的代理服务器的网络中,我将 DNS mysql-server1.com 和 mysql-server2.com 关联到 XXX。
当我使用 mysql 客户端通过调用 mysql-server1.com 连接到 XXX 时,我的目标是连接到 mysql 服务器 yyy.1在端口 3306 上,在端口 3306 上尝试 mysql-server2.com 时类似。
nginx 的问题是我无法通过服务器名称区分 TCP 请求,所以在 XXX 服务器中我应该为每个 mysql 服务器关联一个端口,但这意味着每次我都应该在 mysql 客户端设置中更改端口,我不想要这个!
有一些代理服务器可以做到这一点吗? 我可以使用 IP 表将请求 mysql-server1.com:3306 路由到 localhost:[some port],我可以在代理设置中使用 [some port]将请求转发到服务器 yyy.1?
【问题讨论】:
标签: mysql nginx tcp proxy routing