错误请求 - 从LAN访问localhost Web API或Web App时无效的主机名

时间:2017-07-17 14:45:26

标签: asp.net-core-mvc iis-express asp.net-core-1.1

我在Windows 10上从Visual Studio 2017在我的localhost上运行了ASP .Net Core 1.1 Web API和Web App。

当我运行项目时,API会在http://localhost:50082/api/http://localhost:60856/上的网络应用

上运行

但是,如果局域网上的其他人尝试访问它(使用我的计算机的IP地址 - http://192.168.1.101:60856/,他们会得到

错误请求 - 主机名无效

错误。事实上,。我也得到这个错误,我使用我的IP地址。我在C:\ Users \ Documents \ IISExpress \ config \ applicationhost.config文件中尝试过十几种变体,例如:

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

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

每次都重新启动项目(以及IIS Express),但似乎没有任何效果。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

IIS Express默认情况下不允许远程连接。 This post解释了如何激活它。

在我看来,如果你设置本地IIS并将应用程序发布到配置的IIS文件夹,你会更好。

我已经尝试过HTTP.SYS配置用于其他情况,有时无论是重启还是Windows更新,配置都会丢失......但这可能不会发生在你身上......

答案 1 :(得分:0)

我在尝试让 ngrok 指向本地 ASP.NET Core 网站时遇到了同样的问题。

这个人的回答对我有用:https://kodlogs.com/blog/532/iis-express-http-error-400-the-request-hostname-is-invalid

基本上,在 [solution dir]\.vs\[asp.net core web app dir]\config\applicationhost.config 文件中,将行从:

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

到:

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