Most of organizations use proxy server shared internet connection for their internal network. Browsing websites via proxy server requires few settings in browser itself where we set proxy server IP and port to 8080 which is default port, doing so is enough for any 1 to surf internet. But as an SQL server database programmers/developers uses SQL server management studio to connect to remote database from their client computers. Problem arises when a developer tries to connect a remote database server through SQL server management studio but CC Proxy won’t allow connecting to database directly even if developer uses all details correctly.
Why is SQL server management studio not able to connect a remote database?
A very basic thing about proxy server is that all client computers must have to pass all requests to proxy server IP, requests may be from internet browser Or FTP client Or even if its SQL server management studio.
So now if we try to connect a database with original details, proxy server (say proxy server IP is : 220.127.116.11 ) will not allow connecting to database using original Host name.
Because proxy cannot process any request directly, it must come to Proxy server IP first which is 18.104.22.168 (this is a dummy IP, I have used).
How to solve the problem:
Solution is simple; we just have to follow 2 steps as described below. Here we will be configuring CC proxy, SQL server management studio & SQL server configuration manager.
Step 1: Client side settings
Say for example we have following database server details:
Server name : hostname
Login ID : username
Password : password
Port : 1433 [ SQL server uses 1433 port by default, in case if its different then we have to do settings in CC proxy accordingly ]
Traditionally we use above given details directly to connect, if we connect from SSMS (SQL server management studio), it will take user to the screen as shown blow.
Now in above screen if we use Server name:
hostname then proxy will not process the request and SSMS will fail to connect to database server.
So rather than providing Server name:
hostname we have to set CC Proxy’s server IP which is 22.214.171.124. But only this much will not work, because we also need to request CC proxy to a specific port which is not used anywhere else in proxy server. So we will use any port, say we use PORT: 1444 instead 1433 which is default port in SQL server.
So now in above screen we have to set [Server name: 126.96.36.199, 1444] by keeping userID password as it is.
Ok so we are now done with client side settings. But this much will also not work as we have to do few port map settings in CC proxy on server as well.
Step 2: Proxy server side settings
Setting up above step 1 setting in client machine will now request proxy server with the port 1444. So we have to define a PORT MAP setting in CC proxy for port: 1444.
Below are the steps to follow for port map settings:
- Open CC proxy 6.0
- Go to OPTIONS
- Click on port map, it will take you to the screen as shown below
In above screen set the following:
Dest Host : hostname
Port type : TCP
Local Port : 1444
Dest Port : 1433
Save all above details , and we are done.
After this step all client machines must have to connect to database server using Proxy server IP only with a specific port ( in our case its 1444, however we can use any port but it should not be used anywhere else in proxy server).