当我尝试在端口8080上点击我的网络应用程序时,我收到以下错误
错误请求 - 无效主机名
HTTP错误400.请求主机名无效.
我甚至不知道从哪里开始诊断这个问题
Tay*_*ird 70
你检查绑定是IIS吗?(inetmgr.exe)它可能未注册为接受8080上的所有主机名.
例如,如果你将它设置为mysite.com:8080并在localhost:8080上命中,IIS将获得请求但没有匹配的主机名绑定,因此它拒绝.
除此之外,您应该检查服务器上的IIS日志(C:\ inetpub\logs\wmsvc#),看看您是否看到了您的请求.然后你就会知道你的客户端或服务器本身是否存在问题.
Jef*_*Fay 28
FWIW,如果您只想允许指向任何主机名/ ip的请求,那么您可以像这样设置绑定:
<binding protocol="http" bindingInformation="*:80:*" />
Run Code Online (Sandbox Code Playgroud)
我使用此绑定,以便我可以使用IE6加载VM,然后调试我的应用程序.
编辑:使用IIS Express进行调试时,此选项的配置文件的默认位置是
C:\Users\{User}\Documents\IISExpress\config\applicationhost.config
Run Code Online (Sandbox Code Playgroud)
小智 22
Microsoft的此页面介绍了如何从本地网络上的其他计算机设置对IIS Server Express的访问.
简而言之:
1)从具有管理员权限的命令提示符:
netsh http add urlacl url=http://[your ip address]:8181/ user=everyone
Run Code Online (Sandbox Code Playgroud)
2)在具有高级安全性的Windows防火墙中,为端口8181创建新的入站规则以允许外部连接
3)在applicationhost.config中,在项目的节点中,添加:
<binding protocol="http" bindingInformation="*:8181:[your ip address]" />
不要添加(如另一个答案所示):
<binding protocol="http" bindingInformation="*:8181:*" />
上面的通配符绑定打破了我的访问权限 http://192.168.1.6:8181/
不要忘记绑定到 IPv6 地址!我试图使用 localhost 在 127.0.0.1 上添加一个站点,但收到错误请求/无效主机名错误。当我 ping localhost 时,它解析为 ::1 因为启用了 IPv6,所以我只需要添加额外的绑定来解决这个问题。
对于Visual Studio 2017和Visual Studio 2015,IIS Express设置存储在隐藏.vs目录中,并且路径是这样的.vs\config\applicationhost.config,如下所示添加绑定即可
<bindings>
<binding protocol="http" bindingInformation="*:8802:localhost" />
<binding protocol="http" bindingInformation="*:8802:127.0.0.1" />
</bindings>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
165341 次 |
| 最近记录: |