Windows – Can’t start IIS website on port 443, even though netstat shows nothing listening on 443

iisnetworkingportwindows-server-2012-r2

I have to bind my IIS website to port 443. No other port is allowed in my case. In IIS Manager I've bound Default Web Site to port 443:

site bindings

But when I try to start the website it fails with:

error dialog

However netstat -anob shows nothing to be listening on port 443. TCPView from SysInternals and Windows Resource Monitor both agree with netstat.

How can I find out what is listening on port 443 and stop it so I can run my website on 443?

I'm using IIS 8.5 on Windows Server 2012 R2.

Update on 30 Mar. 2016 It turns out that I could use a port other than 443 after all. So starting the website is no longer a problem for me. Sorry for wasting everyone's time; there was a communication error. But I'll leave this question open in case anyone else faces a similar problem. It might still be useful to know how to find out what's blocking IIS from starting on a particular port when netstat shows nothing is listening on that port.

Best Answer

IIS doesn't allow you to start an HTTP (without an s) Site on port 443.

In your screenshot, in the 'Site Bindings' window, the type is http, which won't run.


Here what to do:

  1. Create a self-signed certificate from IIS' wizard. (because IIS also doesn't allow you to open an HTTPS website without one) unless you use PowerShell command, which will end you up with the error of port 443 being in use.

  2. 'Add a Website' with the binding being 'https' and choose your self-signed certificate. screenshot detailing everything

  3. Site runs perfectly!


Extra content for reference:

I had the same error. Same everything as you OP. But considering that IIS doesn't allow you to open a site on port 443 without a certificate, how was I able to create a site? I was using PowerShell command:

New-WebSite -Name my-website -Port 443 -HostHeader my-website -PhysicalPath "$env:systemdrive\inetpub\wwwroot\my-website"

Which creates you a Site but it doesn't start automatically and if you attempt to start it via PowerShell, you will get this error:

Start-WebSite : Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)

or if you start it manually through the IIS' GUI, you will get that error being 443 is in use which is completely false in reality.