Unable to start Kestrel getting 'An attempt was made to access a socket in a way forbidden by its access permissions'
Andrew Mclaughlin
While running my Kestrel application from Visual Studio 2017 (Windows 10), I'm getting this line in my command prompt:
"Unable to bind to 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
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.
33 Answers
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.
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.
2I'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.