Веб-сайт IIS: ошибка при попытке доступа к сайту в браузере (проблема Kestrel) - PullRequest
0 голосов
/ 31 января 2020

Я создал сайт в ASP. NET Core с VisualStudio, а затем скопировал файлы на сервер и подключил к нему 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)

Что происходит с Kestrel?

Чтобы увидеть мои Program.cs, Startup.cs и web.config см. Вопрос https://stackoverflow.com/questions/59986062/website-deployment-via-iis-cant-access-site

1 Ответ

0 голосов
/ 05 февраля 2020

Я решил проблему. Это была проблема с приложением и строками подключения.

Я вставил в файл web.config на сервере параметр stdoutLogEnabled="true", а затем увидел ошибку в файлах журнала.

Это опция находится в строке файла, которая говорит:

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