Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Connecting to a database server through a proxy.

Posted on 2009-07-01
6
452 Views
Last Modified: 2013-11-13
I normally connect to a SQL server from a C# or VB app using a connection string such as:
Data Source=<ServerIP,Port>;TRUSTED_CONNECTION=no;Persist Security Info=False;Initial Catalog=DBName;User ID=john;password=1234

This does not work when there is a proxy at the client side that blocks access through to the Internet.

All solutions I have found suggest that the client side IT staff open the proxy firewall for the required ports. In practice, people are often reluctant to open additional ports on the firewall. It is possible to go through the firewall using an HTTP tunnel, however I cannot get this to work to open a SQL connection. There are other methods available, for example Proxifier ( www.proxifier.com ) does this. Does anyone know how to do this in code, as I would prefer to avoid clients having to install an additional application on their machines.

Thanks,
Rob
0
Comment
Question by:RobboRed
  • 3
  • 3
6 Comments
 
LVL 57

Expert Comment

by:giltjr
ID: 24753398
Unfortunately the bad part of using a proxy is not all IP based applications support using proxy.

proxifier works by "hooking" into the IP stack and intercepting the IP packets and transparently sending them to the proxy server.  Something you really can't do in code.

What I would suggest is that instead of the clients talking directly to the database server, that you write a HTTP front end to your application and have them talk to a web server and have the web server talk to the database.
0
 

Author Comment

by:RobboRed
ID: 24755100
Thanks for your response. A web interface is a possibility, but it is difficult to get the functionality of a Windows application so I'm still hoping there is an alternative solution.
0
 
LVL 57

Expert Comment

by:giltjr
ID: 24756237
Well not really.  If you go back and read by statement, I never said you had to use a web interface.  I said you can use HTTP talking to a web server.

You still have a custom C++ (or whatever language you wish to write in) and it uses HTTP to communicate the requests back to a web server.  In fact it does not even need to be a web server, it can be a custom written server application that processes HTTP, its just a web server based application gets you out of the business of handling some of the more mundane processes of being a HTTP server.

0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:RobboRed
ID: 24756846
I don't really understand where HTTP comes in. Does a connect command to a database use HTTP?
0
 
LVL 57

Accepted Solution

by:
giltjr earned 500 total points
ID: 24757272
No, you would  use HTTP to communicate the clients request and response to and from the server application.  The server application would then do the query against the database and then return the results to the client.

In one sense it would look like a web based application, the difference is instead of a web browser the client would be your custom program.

This way you don't have to have to have the customer install special software in order to get through their proxy server or for them to install/setup a socks server.

Otherwise they have to configure their firewall to allow direct access to your data base server without going through their proxy.
0
 

Author Comment

by:RobboRed
ID: 24761675
Yes, that would work, thanks.
0

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an OSPF network that automatically (dynamically) reroutes network traffic over other connections to prevent network downtime.
Is your computer hacked? learn how to detect and delete malware in your PC
Viewers will learn how to properly install and use Secure Shell (SSH) to work on projects or homework remotely. Download Secure Shell: Follow basic installation instructions: Open Secure Shell and use "Quick Connect" to enter credentials includi…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question