错误的请求 - 无效的主机名ASP.net Visual Studio 2015

时间:2016-02-06 23:33:42

标签: asp.net iis port

在Visual Studio 2015中调试我的网站后,我可以通过localhost:50544访问它。我想在不同的计算机上访问我的网站,该网站也在同一个网络上。为此,我应该能够访问计算机地址192.168.1.13:50544。

但是,在访问此地址时,我收到了错误的请求,无效的主机名'错误。即使我在提供网站的同一台机器上访问它。

根据建议here我创建了以下Windows防火墙规则,并尝试完全关闭防火墙。 picture of firewall rule

我正在使用IIS express,因此已添加到'〜\ Documents \ IISExpress \ config \ applicationhost.config'文件

<binding protocol="http" bindingInformation=":8080:localhost" /> //original rule
<binding protocol="http" bindingInformation="*:50544:192.168.1.13" />

但是在任何一台机器上访问192.168.1.13:50544仍然会导致错误请求&#39;错误。

6 个答案:

答案 0 :(得分:21)

bindingInformation属性的格式为:

ip address:port:host header

您需要的是:

bindingInformation="192.168.1.13:50544:*"

来源:https://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding?showTreeNavigation=true#006

<强>更新

似乎有些人错误地认为这个答案是不正确的。首先阅读文档(参见上面的链接)并阅读示例。

其次IIS和IIS Express本质上是相同的产品。 IIS Express已经过调整,因此非管理员可以在开发人员PC上运行IIS,因为他们可能没有完全的本地管理员权限。尽管如此,IIS和IIS Express都使用相同的applicationHost.config文件格式,这意味着两个产品的bindingInformation属性格式完全相同。

(错误的):50544:192.168.1.13 bindingInformation字符串有效的原因是(正确或错误):

  • 如果没有指定主机头

  • 如果绑定信息字段的第一部分中没有匹配的IP地址

...然后IIS将尝试匹配绑定信息字符串的主机头部分中的IP地址。

IIS7 +和IIS Express的正确格式一直是:

ip_address:port:host_header

答案 1 :(得分:21)

您必须以管理员身份运行Visual Studio

在Visual Studio 2015中,applicationhost.config位于项目本身的文件夹中。 Esc MyProjectName\.vs\config,请注意.vs文件夹可能会被隐藏。从那里更改IP,而不是IISExpress文件夹。

您的<binding protocol="http" bindingInformation="*:50544:192.168.1.13" />是正确的。

答案 2 :(得分:9)

我们制作了一个名为Conveyor的扩展程序,您可以使用它来打开IIS Express以进行外部访问,而无需更改任何配置。

https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti

答案 3 :(得分:0)

我遇到了与远程访问相同的问题,我尝试了所有这些提示来解决它。对我来说,帮助在Web项目配置中勾选“允许匿名身份验证”。

答案 4 :(得分:0)

直到今天我一切都很好。

  • 防火墙好
  • VS以管理员模式运行
  • applicationhost.config文件正常

我刚刚禁用了"Enable Edit and continue"(在csproj中),并且它停止了工作。我再次启用它,然后我们又去了。

希望这会有所帮助

答案 5 :(得分:0)

如果有人仍然对此有疑问,为我解决的问题是在管理员模式下运行Visual Studio。

我已经读到某个地方,如果不在IIS模式下,IIS将不允许您使用除本地主机以外的任何其他主机(在编辑配置文件后,我收到了无法启动IIS的错误消息)

正如OP所述,这非常重要,请编辑项目中的文件(%PROJECT%\。vs \%PROJECT%\ config \ applicationhost.config),而不是IIS Express文件夹中的文件...