简体   繁体   English

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

[英]IIS website : error trying to access site in browser (Kestrel problem)

I created a site in ASP.NET Core with VisualStudio and then copied the files to the server and linked IIS (8.5) to it.我使用 VisualStudio 在 ASP.NET Core 中创建了一个站点,然后将文件复制到服务器并将 IIS (8.5) 链接到它。

I configured a binding with localhost:443 .我用localhost:443配置了一个绑定。

However, when I browse to https://localhost:443 I obtain an error:但是,当我浏览到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? 

When I access the site via dotnet .\\MVF2.dll , I obtain the following critical error:当我通过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)

What's happening with Kestrel?红隼怎么了?

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

I solved the problem.我解决了这个问题。 It was a problem with the app and connection strings.这是应用程序和连接字符串的问题。

I inserted in the web.config file in the server the option stdoutLogEnabled="true" and then saw the error in the log files.我在服务器的web.config文件中插入了选项stdoutLogEnabled="true" ,然后在日志文件中看到了错误。

This option is in the line of the file that says:此选项位于文件的行中,内容为:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM