4

I am using Squid as a proxy server for web cache in my local network. I have developed a utility in VB.NET that requires a remote connection to a MySQL database on a remote server over internet. I am able to connect to remote server if I disable the proxy server but can not if the proxy is enabled.

I don't know if I can use MySql Proxy in this scenario on my local proxy server and what configurations will I have to make.

Below is my squid configuration;

ACL to define ports allowed to passthrough Squid
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 3306 # mysql remote connection
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access allow Safe_ports
http_access allow CONNECT !SSL_ports

What alternative I can have to achieve a similar setup that is web cache + remote connection to mysql database.

4

3 回答 3

2

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

于 2012-12-11T20:16:31.023 回答
1

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

在 Windows、Mac 和 Linux 上运行的基于 Java 的解决方案是TcpCatcher。它主要用于监控和更改 TCP 流量,但它也可以用作纯代理服务器

如果您对基于 *nix 的解决方案持开放态度,则可以使用高可用性代理(“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

于 2013-06-28T17:17:18.813 回答
0

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

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

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

于 2013-01-03T07:57:29.553 回答