MySQL通过代理php连接

时间:2016-04-02 17:50:22

标签: php mysql proxy remote-server

我想从本地主机连接到远程数据库,但远程数据库只允许来自白名单IP的连接。

由于我使用的是来自ISP的动态IP,我无法将我的家庭IP列入白名单,因为它会再次更改。

我有一个具有完全root访问权限和固定IP的VPS,该IP已列入白名单。

我想要的是:

  • 从我的本地计算机运行php脚本
  • 通过我的VPS连接到远程数据库
  • 将查询结果返回到我的本地计算机进行处理

我该怎么做?

2 个答案:

答案 0 :(得分:1)

使用PHP代理从任何IP地址执行任意SQL语句是非常危险的。我建议您将SQL语句抽象为API,因此,不是允许任何查询,而是将其限制为一组特定的查询以检索或更新特定数据。然后,您的本地计算机可以调用该API来检索或更新信息。

答案 1 :(得分:0)

您需要解决的关键问题是找到一个可以添加到白名单的静态IP地址的主机。你说你已经解决了这个问题。但是,您没有提到在vps和客户端上运行的操作系统。如果两者都是Linux,那么你可以用iptables来做到这一点。如果其中一个或两个都是mswindows,那么你可以使用socat,但如果是我,我会使用客户端和代理之间的stunnel链接(尽管如果服务器上的白名单仅应用于mysql连接,你可以终止服务器上的stunnel连接,并使用客户端证书身份验证或SSH隧道完全跳过代理。