1

I am developing ASP.NET Core 2.1 React application in Visual Studio 2017. Today I wanted to launch a previously launchable application from Visual Studio, but the error appeared:

Bad Request - Invalid Hostname HTTP Error 400. The request hostname is invalid.

After I had switched from IIS Express to project exe in the launch menu in VS 2017, I observed the following message:

Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]

The host 'localhost:5001' does not match an allowed host.

The whole log looks like this:

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]
      > [email protected] 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.

Any ideas what is behind and how to fix it?

I am suspicious about AVG antivirus making big wreckage lately or some update.

3 Answers 3

9

Ouch, I have played with AllowedHosts settings the other day and forgot about it. In appsetings.json file there is a line that should read for localhost:

"AllowedHosts": "localhost"

The valid IP address of the locahost does not work.

Sign up to request clarification or add additional context in comments.

1 Comment

You've saved tons of my nerves with this answer! =) Thank you so much!
1

Ran into this today. Opened up my appsettings.json file to add the "AllowedHost": "localhost" line but found I already had an entry with

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)'

Just letting others out there like my know that you're not crazy. :-)

Comments

0

I've fixed this issue for me by adding this to the launchSettings.json

"ShutdownTimer.Server": {
  "commandName": "Project",
  "launchBrowser": true,
  "applicationUrl": "https://localhost:5001;http://localhost:5000",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
},
"ShutdownTimer.Server (localIP)": {
    "commandName": "Project",
    "launchBrowser": true,
    "applicationUrl": "https://192.168.0.115:5001;http://192.168.0.115:5000",
    "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
    }
}

Looks like you have to bind to the network ip in order to be able to connect to that ip without connection errors. at least i can reach that ip with no port forwarding from my phone after starting the server like this.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.