Hasan Özkaynak
Hasan Özkaynak

Reputation: 101

dotnet core 3.1 IIS Error "An attempt was made to access a socket in a way forbidden by its access permissions (10013)"

I've dotnet core 3.1 project. I launched a few machines on iis. But today i can't launched the app on iis. I can launch with "dotnet <app.dll>" command and everything's good. But when i launch on IIS, it gives this error.

"crit: Microsoft.AspNetCore.Server.Kestrel[0] Unable to start Kestrel. System.Net.Sockets.SocketException (10013): An attempt was made to access a socket in a way forbidden by its access permissions. at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)"

Any suggestion ?

PS: I checked my ports in use with command netstat -o. There is no using from any application

Upvotes: 6

Views: 22464

Answers (3)

Voice Of The Rain
Voice Of The Rain

Reputation: 587

The reason is most likely due to a Windows Update that restricted access to certain ports on Windows machines. The details are here.

You can view a list of which ports are excluded from your user by running this command:

netsh interface ipv4 show excludedportrange protocol=tcp

enter image description here

Changing port number should fix the issue.

Upvotes: 5

andrewjamesbowen
andrewjamesbowen

Reputation: 641

netsh interface ipv4 show excludedportrange protocol=tcp

Look at the ports listed and see if it overlaps with your port.

If so, rebooting your PC or changing the port has fixed this for me.

I'm using port 56240, Windows Update sometimes takes that range.

Upvotes: 25

Hasan &#214;zkaynak
Hasan &#214;zkaynak

Reputation: 101

Finally I found my solution on my own. I removed UseKestrel() line from program.cs and everything's good.

        var config = new ConfigurationBuilder().AddCommandLine(args).Build();

       return  Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
                webBuilder.UseKestrel(); **//remove this line.**
                webBuilder.UseUrls();
                webBuilder.UseIISIntegration();
                
            }).ConfigureServices((context, services) =>
            {
                services.AddHostedService<Worker>();
                services.AddHostedService<MonitorWorker>();
                services.AddHostedService<TransferWorker>();
            });

    }

Upvotes: 0

Related Questions