在代理服务器后面设置MySQL

我在代理服务器(apache mod_proxy)后部署MySQL服务器。 当我尝试连接使用MySQL客户端或使用PHP连接到MySQL服务器时,我得到这个错误。

Lost connection to MySQL server at 'reading initial communication packet', system error: 0 

我尝试通过设置绑定地址为0.0.0.0并注释它,但注意到工作。

我正在代理服务器上进行一些端口映射,除了使用代理服务器进行代理外。 例如:

 ProxyPass / 123.145.1.5:13306 ProxyPassReverse / http://123.145.1.5:13306 

我已经设置了Apache服务器来监听3306,并且在代理服务器上没有运行mysql服务器。

为了清楚起见,mod_proxy仅适用于HTTP协议。 它从HTTP协议中读取头文件来工作。

你应该尝试使用iptables:

 iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 123.145.1.5:13306