10

I have an ASP .Net Core 1.1 Web API and Web App running on my localhost from Visual Studio 2017 on Windows 10.

When I run the projects, the API runs on http://localhost:50082/api/ and the web app on http://localhost:60856/

However, if others on the LAN try to access it (using my computer's IP address - http://192.168.1.101:60856/ they get a

Bad Request - Invalid Hostname

Error. In fact,. I get this error too of I use my IP address. I've tried about a dozen variations in my C:\Users\Documents\IISExpress\config\applicationhost.config file, such as:

<bindings>
<binding protocol="http" bindingInformation="*:60856:localhost" />
</bindings>

and

<bindings>
<binding protocol="http" bindingInformation="*:60856:" />
</bindings>

restarting the projects (and therefore IIS Express) every time, but nothing seems to work. Any ideas?

Fabricio Rodriguez
  • 2,759
  • 5
  • 33
  • 67

2 Answers2

9

IIS Express does not allow remote connections by default. This post explains how to activate it.

In my opinion, you would be better off if you setup local IIS and publish the app to the configured IIS folder.

I already tried HTTP.SYS configurations for other situations, and sometimes the configs are lost whether on restarts or windows updates... But this may not happen to you...

João Pereira
  • 1,512
  • 14
  • 18
0

I had this same issue trying to get ngrok to point to a local ASP.NET Core website.

This guy's answer worked for me: https://kodlogs.com/blog/532/iis-express-http-error-400-the-request-hostname-is-invalid

Basically, in the [solution dir]\.vs\[asp.net core web app dir]\config\applicationhost.config file, change the line from:

<binding protocol="https" bindingInformation="*:[your port]:localhost" />

to:

<binding protocol="https" bindingInformation="*:[your port]:*" />
Lavamantis
  • 3,155
  • 1
  • 22
  • 20