IIS网站:尝试访问浏览器中的网站时出错(Kestrel问题)

时间:2020-01-31 11:24:13

标签: asp.net-mvc asp.net-core iis web-deployment kestrel-http-server

我使用VisualStudio在ASP.NET Core中创建了一个站点,然后将文件复制到服务器并将IIS(8.5)链接到该服务器。

我用localhost:443配置了绑定。

但是,当我浏览到https://localhost:443时,我得到了一个错误:

An error occurred while starting the application with the following message:

.NET Core 4.6.28008.01 X64 v4.0.0.0    |   Microsoft.AspNetCore.Hosting version 2.1.1-rtm-30846    |    Microsoft Windows 6.3.9600    |   Need help? 

当我通过dotnet .\MVF2.dll访问该网站时,出现以下严重错误:

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)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransport.BindAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.<>c__DisplayClass22_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context)
   at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(IServerAddressesFeature addresses, KestrelServerOptions serverOptions, ILogger logger, Func`2 createBinding)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)

红est发生了什么事?

要查看我的Program.cs,Startup.cs和web.config,请参阅问题https://stackoverflow.com/questions/59986062/website-deployment-via-iis-cant-access-site

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。应用程序和连接字符串有问题。

我将选项web.config插入服务器的stdoutLogEnabled="true"文件中,然后在日志文件中看到错误。

此选项位于文件所在的行中:

<aspNetCore processPath=".\myapp.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />