我创建了一个 Kestrel Asp.Net 核心应用程序并尝试将其托管在 Windows Server 上 (
server1
)。我使用启动应用程序
在 server1 上浏览 http://server1:8008 没有任何错误。
但是,在远程机器上浏览http://server1:8008时,出现以下错误?
PS C:\Websites\Portal> .\Blazor.exe --urls http://server1:8008
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://[::]:8008
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\Websites\Portal
warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]
Failed to determine the https port for redirect.
fail: Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler[5]
An exception occurred while processing the authentication request.
System.InvalidOperationException: An anonymous request was received in between authentication handshake requests.
at Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler.HandleRequestAsync()
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
An unhandled exception has occurred while executing the request.
System.InvalidOperationException: An anonymous request was received in between authentication handshake requests.
at Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler.HandleRequestAsync()
at Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler.HandleRequestAsync()
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware midd
leware, HttpContext context, Task task)
有点旧,但是,对此进行更正......
您需要为您的应用程序设置 SPN。一旦正确的 SPN 就位,问题就会消失。