将IIS Express绑定到IP地址

是否有可能使用IIS Express来托pipenetworking上的页面。 开箱即可做本地主机,但我试图把它绑定到一个IP地址。

我想你可以。

为此,您需要手动编辑applicationhost.config文件(编辑bindingInformation' <ip-address>:<port>:<host-name> ')

要启动iisexpress,您需要pipe理员权限

为了让IIS Express在任何IP地址上回答,只需将地址留空,即:

 bindingInformation=":8080:" 

在更改发生之前,不要忘记重新启动IIS Express。

如上所述,编辑应用程序host.config。 找一个简单的方法是使用IIS Express在VS中运行你的站点。 右键单击系统托盘图标,显示所有应用程序。 select您的网站,然后点击底部的configuration链接打开它。

我build议添加另一个绑定条目,并保留初始localhost一个。 这个额外的绑定将作为该站点下的一个单独的应用程序出现在IIS Express系统托盘中。

为了避免必须以pipe理员的身份运行VS(很多理由不以pipe理员身份运行),请按如下所示添加netsh规则(显然将IP和端口replace为您的值) – 您需要一个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

更多信息: http : //msdn.microsoft.com/en-us/library/ms733768.aspx

以下是使用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 

configuration文件(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> 

.NET框架的64位版本可以启用,如下所示:

 <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" /> 

更改bindingInformation=":8080:"

并记住要closuresIISExpress的防火墙