【问题标题】:Remote Connection to MySQL database to bypass through Squid proxy server远程连接到 MySQL 数据库以绕过 Squid 代理服务器
【发布时间】:2012-11-26 22:57:37
【问题描述】:

我在本地网络中使用 Squid 作为 Web 缓存的代理服务器。我在 VB.NET 中开发了一个实用程序,它需要通过 Internet 远程连接到远程服务器上的 MySQL 数据库。如果我禁用代理服务器,我可以连接到远程服务器,但如果启用代理,我就不能。

我不知道在这种情况下我是否可以在我的本地代理服务器上使用 MySql Proxy 以及我必须进行哪些配置。

下面是我的鱿鱼配置;

ACL 定义允许通过 Squid 的端口
acl SSL_ports 端口 443
acl Safe_ports 端口 80 # http
acl Safe_ports 端口 21 # ftp
acl Safe_ports 端口 1025-65535 # 未注册的端口
acl Safe_ports 端口 3306 # mysql 远程 连接
acl CONNECT 方法 CONNECT

http_access 拒绝 !Safe_ports
http_access 允许 Safe_ports
http_access 允许 CONNECT !SSL_ports

我可以有什么替代方法来实现类似的设置,即 Web 缓存 + 远程连接到 mysql 数据库。

【问题讨论】:

    标签: mysql squid


    【解决方案1】:

    Squid 根本无法代理 MySQL。 您必须配置防火墙(或使用直接连接、nat 等)才能使用远程连接。

    【讨论】:

    • 我没有安装防火墙。你能指导我还能做什么吗?有关直接连接或 nat 的更多信息吗?不过感谢您的回答。
    • 我正在制作一个 .net 应用程序来连接远程数据库。
    【解决方案2】:

    我也一直在研究代理数据库流量。 Squid 不能代理 MySQL 流量,但是你确实想代理 MySQL 流量,可以试试SQLProxy,这是一个代理 MySQL 流量的 IIS 插件。

    在 Windows、Mac 和 Linux 上运行的基于 Java 的解决方案是 TcpCatcher。它主要用于监控和更改 TCP 流量,但也可以用作 a pure proxy server

    如果您愿意接受基于 *nix 的解决方案,则可以使用 High Availability Proxy ("HAProxy"),它作为 TCP/HTTP 负载平衡器,可用于代理 MySQL 数据库连接以及 HTTP 连接。

    http://www.severalnines.com/resources/clustercontrol-mysql-haproxy-load-balancing-tutorial 有一个关于使用 HAProxy 代理 MySQL 连接的教程和信息页面(截至 2013 年 6 月)。下面是一个使用 HAProxy 代理单个 MySQL 连接的示例:http://flavio.tordini.org/a-more-stable-mysql-with-haproxy

    【讨论】:

    • 我想通过squids在我的centos服务器上远程mysql(最好使用windows CMD中的mysql)。有什么解决办法吗?
    【解决方案3】:

    我已经设法让它与 Microsoft Forefront TMG 一起工作。将使用端口 3306 为所有用户从内部到外部的出站连接创建访问规则。防火墙客户端也应该安装在客户端机器上。

    Squid 和 Polipo 不能在需要远程连接到 MySql 的环境中使用。在这种情况下,在代理之前设置本地服务器以及与远程服务器或 VPN/SSH 的一些同步机制是可能的。

    希望对其他相关读者有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 2017-03-08
      • 1970-01-01
      • 2019-03-30
      • 2014-03-17
      • 2020-06-02
      相关资源
      最近更新 更多