Mysql – Set up MySQL behind a proxy server

apache-2.2mod-proxyMySQLPROXYreverse-proxy

I am deploying a MySQL server behind a proxy server (apache mod_proxy). I am getting this error when I try to connect using mysql client or using php to connect to mysql server.

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

I tried by setting bind-address to 0.0.0.0 and commenting it, but noting worked.

I am doing some port mapping on proxy server in addition to proxying, using proxypass.
eg:

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

I have set the apache server to listen to 3306 and there is no mysql server running on proxy server.

Best Answer

Just to make this clear, mod_proxy is for HTTP protocol only. It reads headers from HTTP protocol to work.

You should try with iptables:

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