是否可以使用IIS Express来托管网络上的页面。开箱即用它可以做localhost但我试图将它绑定到IP地址。
答案 0 :(得分:102)
我想你可以。
要执行此操作,您需要手动编辑applicationhost.config
文件(编辑bindingInformation'<ip-address>:<port>:<host-name>
')
要启动iisexpress,您需要管理员权限
答案 1 :(得分:85)
为了让IIS Express能够接听任何IP地址,只需将地址留空即可,即:
bindingInformation=":8080:"
不要忘记在发生更改之前重新启动IIS express。
答案 2 :(得分:30)
如上所述,编辑应用程序host.config。找到这个的简单方法是使用IIS Express在VS中运行您的站点。右键单击系统托盘图标,显示所有应用程序。选择您的站点,然后单击底部的配置链接将其打开。
我建议添加另一个绑定条目,并将初始localhost保留在那里。此附加绑定将作为站点下的单独应用程序显示在IIS Express系统中。
为避免必须以管理员身份运行VS(很多理由不以管理员身份运行),请按如下方式添加netsh规则(显然用您的值替换IP和端口) - 您需要一个admin cmd.exe为此,它只需要运行一次:
netsh http add urlacl url=http://192.168.1.121:51652/ user=\Everyone
netsh可以添加像url = http://+:51652/这样的规则但是我没能把它与IIS Express很好地放在一起。您可以使用netsh http show urlacl
列出现有规则,可以使用netsh http delete urlacl url=blah
删除它们。
答案 3 :(得分:11)
以下是使用IIS Express运行我的x64位IIS应用程序所需进行的完整更改,以便远程主机可以访问它:
iisexpress /config:"C:\Users\test-user\Documents\IISExpress\config\applicationhost.config" /site:MyWebSite
Starting IIS Express ...
Successfully registered URL "http://192.168.2.133:8080/" for site "MyWebSite" application "/"
Registration completed for site "MyWebSite"
IIS Express is running.
Enter 'Q' to stop IIS Express
配置文件(applicationhost.config)的部分添加如下:
<sites>
<site name="MyWebsite" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\build\trunk\MyWebsite" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:192.168.2.133" />
</bindings>
</site>
可以按如下方式启用64位版本的.NET框架:
<globalModules>
<!--
<add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
<add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
-->
<add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
答案 4 :(得分:8)
更改bindingInformation=":8080:"
请记得关闭IISExpress的防火墙