在Visual Studio 2015中调试我的网站后,我可以通过localhost:50544访问它.我想在不同的计算机上访问我的网站,该网站也在同一个网络上.要做到这一点,我应该能够访问计算机地址192.168.1.13:50544.
但是,访问此地址时,出现"错误请求,主机名无效"错误.即使我在网站正在服务的同一台机器上访问它.
根据这里的建议,我创建了以下Windows防火墙规则,并尝试完全关闭防火墙.
我正在使用IIS express,因此已添加到'〜\ Documents\IISExpress\config\applicationhost.config'文件中
<binding protocol="http" bindingInformation=":8080:localhost" /> //original rule
<binding protocol="http" bindingInformation="*:50544:192.168.1.13" />
Run Code Online (Sandbox Code Playgroud)
但是在任何机器上访问192.168.1.13:50544仍然会导致"错误请求"错误.
Sea*_*ull 23
您必须以管理员身份运行Visual Studio
在Visual Studio 2015中,applicationhost.config 它位于项目本身的文件夹中.Esc MyProjectName\.vs\config,请注意该.vs文件夹可能被隐藏.从那里更改IP,而不是IISExpress文件夹.
你<binding protocol="http" bindingInformation="*:50544:192.168.1.13" />是对的.
Kev*_*Kev 22
该bindingInformation属性的格式为:
ip address:port:host header
Run Code Online (Sandbox Code Playgroud)
你需要的是:
bindingInformation="192.168.1.13:50544:*"
Run Code Online (Sandbox Code Playgroud)
资料来源: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
Run Code Online (Sandbox Code Playgroud)
Jim*_*ica 10
我们制作了一个名为Conveyor的扩展程序,您可以使用它来打开IIS Express以进行外部访问,而无需更改任何配置.
https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti
| 归档时间: |
|
| 查看次数: |
28491 次 |
| 最近记录: |