在代理服务器后面设置 MySQL

在代理服务器后面设置 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 在代理服务器上进行一些端口映射。例如:

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

我已将 apache 服务器设置为监听 3306,并且代理服务器上没有运行 mysql 服务器。

答案1

需要说明的是,mod_proxy 仅适用于 HTTP 协议。它从 HTTP 协议读取标头来工作。

您应该尝试使用 iptables:

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

相关内容