将IIS Express配置为允许外部访问VS2010项目

18 浏览
0 Comments

将IIS Express配置为允许外部访问VS2010项目

我正在使用VS2010开发一个项目,并且能够通过IIS Express在本地查看我的网站。我想允许网络上的外部访问。

我所有的研究都将我带到了这篇博客文章:http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx,这对我很有帮助,但是似乎没有显示如何在Visual Studio中启动的项目中配置绑定(我无法在截图中找到该屏幕,并且当我从Visual Studio运行站点时编辑绑定信息不会反映在应用程序host.config中)。

admin 更改状态以发布 2023年5月21日
0
0 Comments

我也花了好几个小时来解决这个问题,想从我的 Android Xoom 浏览到我的 win7 开发机器,以便测试我创建的新 asp.net 网络应用程序。我所做的只是将 IISExpress 的 applicationhost.config 从 PC 主机名更改为 PC 当前的 IP 地址,用于我的新站点。


如下所示:

 

一旦我这样做并重新启动了 IISExpress...我便能够从我的 Xoom 浏览器访问我的 dev-Lee 机器并能够看到我的应用程序!

0
0 Comments

1 编辑applicationhost.config文件(位于文档中的IISExpress文件夹中),您的站点绑定应该像下面所示:


  

绑定由三个部分组成。首先是IP地址或列表,或者像这种情况一样是一个通配符。其次是端口号,第三个是主机名,列表或通配符(用于通过Host头过滤)。出于开发目的,通配符在这里是最合适的,因为您可能会使用唯一的端口。

2 因为您使用的是非本地主机绑定,所以需要额外的权限。您可以以管理员身份运行VS,或者最好您应该添加URL ACL以授予所需的权限。在下面的示例中,权限是赋予每个人的,但您可以使用自己的用户名。

注意:urlacl必须完全匹配绑定。因此,针对http:// *:8080的urlacl将允许绑定*:8080:*,但不允许绑定*:8080:localhost,即使后者是前者的子集。这意味着,如果不使用通配符,而是在applicationhost.config中列出主机头,则必须为每个添加匹配的urlacl。

配置HTTP.sys以接受外部流量的步骤类似于设置站点使用保留端口。在Windows 7或Windows Vista上,从提升的命令提示符中运行以下命令:

netsh http add urlacl url=http:// *:8080 / user = DOMAIN \ username

在Windows XP上,从提升的命令提示符中运行以下命令:

httpcfg set urlacl / u http:// *:8080 / / a D:(A ;; GX ;; ;; WD)

注意2 如果作为管理员运行VS或添加ACL条目无法解决您的问题,则应从命令行运行IIS Express,并检查是否有任何绑定注册失败消息。要从命令行启动,请给出此命令:

iisexpress.exe /site:"your-site-name"

3 最后,您需要适当的防火墙条目。最简单的方法是使用“高级安全性的Windows防火墙”控制台。

在“Inbound Rules”下选择“New Rule…”。

  • 规则类型为“Custom”。
  • 程序是Services->Customize…->Apply to services only。(虽然IIS Express不是一个服务,但它使用的HTTP多路复用器是)。
  • 协议是TCP
  • 指定端口:列出所有IIS Express绑定的端口。您可以随时回到此规则并添加端口。(如果这变得烦人,您可以添加一个范围,例如40000-65534,该范围覆盖Visual Studio使用的整个范围,但请注意这不太安全)。
  • 操作是“允许连接”
  • 配置文件将是以下之一。如果不确定,则选择“域+私有”。
    • “域”,如果您的是公司桌面,并且仅在本地域上运行
    • “域+私人”,如果您的是私人开发机器,位于非公司环境中,或者是公司笔记本电脑,在家工作时也需要工作。
    • “域,私人和公共”,如果您需要在非私人网络上进行演示。
  • 名称应为“IIS Express Dev Server”之类的东西
0