How to run VisualSVN Server on port 443 running IIS on same server?

Posted by Metro Smurf on Server Fault See other posts from Server Fault or by Metro Smurf
Published on 2011-03-17T05:15:43Z Indexed on 2014/08/22 16:26 UTC
Read the original article Hit count: 1387

Filed under:
|
|
|

Server 2008 R2 SP1
VisualSVN Server 2.1.6

The IIS server has about 10 sites. One of them uses https over port 443 with the following bindings:

http x.x.x.39:80 site.com
http x.x.x.39:80 www.site.com
https x.x.x.39:443

VisualSVN Server Properties

server name: svn.SomeSite.com
server port: 443
Server Binding: x.x.x.40

No sites on IIS are listening to x.x.x.40.

When starting up VisualSVN server, the following errors are thrown:

  • make_sock: could not bind to address x.x.x.40:443 (OS 10013) An attempt was made to access a socket in a way forbidden by its access permissions.
  • no listening sockets available, shutting down

When I stop Site.com on IIS, then VisualSVN Server starts up without a problem. When I bind VisualSVN server to port 8443 and start Site.com, then VisualSVN Server starts without a problem.

My goal is to be able to access the VisualSvn Server with a normal url, i.e., one that does't use a port number in the address:

https://svn.site.com vs https://svn.site.com:8443

What needs to be configured to allow VisualSVN Server to run on port 443 with IIS running on the same server?

Edit / Answer

The answer provided by Ivan did point me in the right direction. For anyone else running into this, here is a bit more information.

Even though my IIS had no bindings set to the IP address I am using for VisualSvn, IIS will still take the IP address hostage unless IIS is explicitly told which IP addresses to listen to.

There is no GUI in Win Server 2k8 to configure the IP addresses for IIS to listen; by default, IIS listens to all IP addresses assigned to the server.

The following will help configure IIS to only listen to the IP addresses you want:

  1. open a command prompt
  2. enter: netsh
  3. enter: http
  4. enter: show iplisten --> this will show a table of the IP addresses IIS is listening to. By default, the table will be empty (I guess this means IIS listens to all IP's)
  5. For each IP address IIS should listen to, enter: add iplisten ipaddress=x.x.x.x
  6. enter: show iplisten --> you should now see all the IP addresses added to the listening table.
  7. Exit and then reset IIS.

Each of these commands can also be run directly, i.e., netsh http show iplisten

If you need to delete an IP address from the listening table:

  1. open a command prompt
  2. enter: netsh
  3. enter: http
  4. enter: delete iplisten ipaddress=x.x.x.x
  5. Exit and then reset IIS.

© Server Fault or respective owner

Related posts about iis

Related posts about https