29

While running my Kestrel application from Visual Studio 2017 (Windows 10), I'm getting this line in my command prompt:

"Unable to bind to http://localhost:50067 on the IPv4 loopback interface: 'An attempt was made to access a socket in a way forbidden by its access permissions'."

And after that it is mentioning that

Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to start Kestrel.

For your reference, please look at the screenshot as well

Unable to bind to port number

What is the reason behind it?

What I did is, check the port from the command netstat -a.

Note - netstat -a in the “Command Prompt” window, and press “Enter.” The computer displays a list of all open TCP and UDP ports

I’m unable to find my port number in that lists as well.

4 Answers4

84

After Windows 10 Update KB4074588, some ports are reserved by Windows and applications cannot bind to these ports. 50067 is in the blocked range.

You can use netsh interface ipv4 show excludedportrange protocol=tcp to list the reserved ranges.

excludedportrange list

1

I've run into this a few times with Windows 10 on dotnet core (2.2). In my case, it tends to be after my network card driver is updated (e.g., by the Dell Support Assist app). The weird part is that only one of 3 dotnet core apps has an issue, and I have no problems with my NodeJS APIs.

A restart fixes the problem, in my case.

ps2goat
  • 121
0

I cannot add comments,

why my block list is different? – liang Nov 2 '20 at 9:39

If an IIS website uses a port, it is shown in this list. I guess other windows services also.

norm
  • 1
0

I ran into this error when trying to run a Bot Framework bot sample by Microsoft.

Turns out I just had another bot running in the background on the port (3978). Once I stopped it, I was able to run the sample successfully.

Lukas
  • 103