2012-12-09 5 views
3

로컬 네트워크의 웹 캐시에 프록시 서버로 Squid를 사용하고 있습니다. VB.NET에서 인터넷을 통해 원격 서버의 MySQL 데이터베이스에 원격 연결이 필요한 유틸리티를 개발했습니다. 프록시 서버를 비활성화하면 원격 서버에 연결할 수 있지만 프록시를 사용할 수없는 경우 연결할 수 없습니다.MySQL 데이터베이스에 원격 연결하여 Squid 프록시 서버를 우회

내 로컬 프록시 서버에서이 시나리오에서 MySql 프록시를 사용할 수 있는지, 어떤 구성을해야하는지 잘 모릅니다.

다음은 제 오징어 구성입니다.

ACL은 포트 443
ACL Safe_ports 포트 80 # HTTP
ACL의 Safe_ports에게 포트 (21) # FTP
ACL Safe_ports 포트 1025-65535 # 등록되지 않은 포트
ACL Safe_ports 포트 오징어
ACL의 SSL_ports을 통과 할 수 포트를 정의합니다 3306 # mysql을 원격 연결
ACL 방법은 CONNECT CONNECT

http_access 거부! Safe_ports
http_access 수 Safe_ports
http_access 연결할 수 있습니다! 내가 웹 캐시 + MySQL 데이터베이스에 원격 연결하는 비슷한 설정을 달성 할 수있는 어떤 대안 SSL_ports


.

답변

1

오징어는 MySQL을 전혀 프록시 할 수 없습니다. 원격 연결을 사용하려면 방화벽을 구성하거나 직접 연결, NAT 등을 사용해야합니다.

+0

방화벽이 설치되어 있지 않습니다. 내가 뭘 할 수 있는지 안내해 주시겠습니까? 직접 연결 또는 NAT에 대한 더 많은 정보가 있습니까? 답변을 주셔서 감사합니다. – Rafi

+0

.net 응용 프로그램을 원격 데이터베이스에 연결하려고합니다. – Rafi

0

Microsoft Forefront TMG에서 작동하도록했습니다. 액세스 규칙은 모든 사용자에 대해 내부에서 외부로의 포트 3306 아웃 바운드 연결로 생성됩니다. 방화벽 클라이언트는 클라이언트 컴퓨터에도 설치해야합니다.

MySql에 원격 연결이 필요한 환경에서는 Squid 및 Polipo를 사용할 수 없습니다. 이러한 시나리오에서는 프록시 전에 로컬 서버를 설정하고 원격 서버 또는 VPN/SSH와의 일부 동기화 메커니즘이 가능합니다.

다른 관련 독자에게 도움이되기를 바랍니다.

0

프록시 트래픽도 조사했습니다. 오징어는 MySQL 트래픽을 프록시 할 수는 없지만 MySQL 트래픽을 프록시 처리하려면 SQLProxy을 사용해보십시오.이 플러그인은 MySQL 트래픽을 프록시하는 IIS 플러그인입니다.

Windows, Mac 및 Linux에서 실행되는 Java 기반 솔루션은 TcpCatcher입니다. 주로 TCP 트래픽을 모니터링하고 변경하기위한 것이지만 a pure proxy server으로 사용할 수도 있습니다.

* nix 기반 솔루션을 사용하는 경우 TCP/HTTP로드 밸런서로 사용되는 High Availability Proxy ("HAProxy")이 있으며 이는 HTTP 연결뿐만 아니라 MySQL 데이터베이스 연결을 프록시하는 데 사용할 수 있습니다.

HAProxy를 사용하여 MySQL 연결을 프록시하는 데 대한 자습서 및 정보 페이지가 http://www.severalnines.com/resources/clustercontrol-mysql-haproxy-load-balancing-tutorial (2013 년 6 월 기준)입니다. 다음은 HAProxy를 사용하여 단일 MySQL 연결을 프록시하는 예입니다 : http://flavio.tordini.org/a-more-stable-mysql-with-haproxy.

관련 문제