我正在Visual Studio 2017中开发ASP.NET Core 2.1 React应用程序。今天我想从Visual Studio启动一个以前可启动的应用程序,但出现错误:
错误的请求-无效的主机名HTTP错误400。请求的主机名是 无效。
在VS 2017的启动菜单中从IIS Express切换到项目exe之后,我观察到以下消息:
Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware [0]
主机'localhost:5001'与允许的主机不匹配。
整个日志如下:
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
User profile is available. Using 'C:\Users\vdohnal\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
info: Microsoft.AspNetCore.SpaServices[0]
Starting create-react-app server on port 50222...
Hosting environment: Development
Content root path: C:\VSTS\Dixie\Dixie
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
dbug: HttpsConnectionAdapter[1]
Failed to authenticate HTTPS connection.
System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__51_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionAdapter.InnerOnConnectionAsync(ConnectionAdapterContext context)
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET https://localhost:5001/
info: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]
The host 'localhost:5001' does not match an allowed host.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 55.2128ms 400 text/html
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET https://localhost:5001/favicon.ico
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET https://localhost:5001/favicon.ico
info: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]
The host 'localhost:5001' does not match an allowed host.
info: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]
The host 'localhost:5001' does not match an allowed host.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 6.4203ms 400 text/html
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 8.9463ms 400 text/html
info: Microsoft.AspNetCore.SpaServices[0]
> Dixie@0.1.0 start C:\VSTS\Dixie\Dixie\ClientApp
> rimraf ./build && react-scripts start
Starting the development server...
info: Microsoft.AspNetCore.SpaServices[0]
Compiled with warnings.
info: Microsoft.AspNetCore.SpaServices[0]
./src/components/Home.js
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET https://localhost:5001/
info: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]
The host 'localhost:5001' does not match an allowed host.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 3.6957ms 400 text/html
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET https://localhost:5001/
info: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]
The host 'localhost:5001' does not match an allowed host.
任何想法都在后面,以及如何解决?
我对AVG防病毒软件最近造成严重破坏或某些更新感到怀疑。
答案 0 :(得分:1)
哎呀,前几天我玩过AllowedHosts
设置,却忘了它。在appsetings.json
文件中,有一行应为localhost读取:
“ AllowedHosts”:“本地主机”
locahost的有效IP地址不起作用。
答案 1 :(得分:0)
我已通过将其添加到launchSettings.json
为我解决了此问题{{1}}
看起来您必须绑定到网络ip才能连接到该ip,而不会出现连接错误。像这样启动服务器后,至少我可以通过电话从端口转发该IP。
答案 2 :(得分:0)
今天就参加这个。打开我的appsettings.json文件以添加"AllowedHost": "localhost"
行,但是发现我已经有了
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET https://localhost:5001/
info: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]
The host 'localhost:5001' does not match an allowed host.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 2951.4396ms 400 text/html
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET https://localhost:5001/
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
Executing endpoint 'AsyncControllerTest.Controllers.HomeController.Index (AsyncControllerTest)'
只是让其他人像我一样知道你并不疯狂。 :-)