我在本地网络中使用Squid作为Web缓存的代理服务器。我在VB.NET中开发了一个实用程序,它需要通过Internet远程连接到远程服务器上的MySQL数据库。如果我禁用代理服务器,我可以连接到远程服务器,但如果启用了代理,则无法连接到远程服务器。
我不知道我是否可以在本地代理服务器上使用MySql Proxy,以及我必须进行哪些配置。
以下是我的鱿鱼配置;
ACL,用于定义允许直通Squid的端口.cn SSL_ports 端口443
acl Safe_ports端口80#http
acl Safe_ports 端口21#ftp
acl Safe_ports端口1025-65535# 未注册的端口
acl Safe_ports端口3306 #mysql remote 连接
acl CONNECT方法CONNECT
http_access deny!Safe_ports
http_access允许Safe_ports
http_access 允许CONNECT!SSL_ports
我可以用什么方法来实现类似的设置,即web缓存+远程连接到mysql数据库。
答案 0 :(得分:1)
Squid根本无法代理MySQL。 您必须配置防火墙(或使用直接连接,nat等)以使用远程连接。
答案 1 :(得分:0)
我设法让它与Microsoft Forefront TMG一起使用。将为所有用户创建一个访问规则,其中包含从内部到外部的端口3306出站连接。防火墙客户端也应安装在客户端计算机上。
Squid和Polipo不能在需要远程连接MySql的环境中使用。在这种情况下,在代理之前设置本地服务器以及与远程服务器或VPN / SSH的某些同步机制是可能的。
希望对其他相关读者有所帮助。
答案 2 :(得分:0)
我一直在寻找代理数据库流量。 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连接。
有一个关于使用HAProxy在http://www.severalnines.com/resources/clustercontrol-mysql-haproxy-load-balancing-tutorial代理MySQL连接的教程和信息页面(截至2013年6月)。以下是使用HAProxy代理单个MySQL连接的示例:http://flavio.tordini.org/a-more-stable-mysql-with-haproxy。