我的机器正在运行Windows 7旗舰版。 以下是我迄今为止所做的(成功):
然而,当我尝试从我自己的机器,或从远在电脑上的http://XXX.XX.XX.XX/index.php ,而不是在我的networking上,无论如何…我什么也没得到。 它试图连接一段时间(失败),但最终只是放弃。
这是我想知道的:
非常感谢!
这听起来像一个HTTP.SYS问题,你有。
下面是Scott Hanselman博客的摘录,介绍了如何在本地主机之外公开IISExpress。 博客文章更长,也描述了如何连接SSL。 但是我相信下面我发布的这些命令可以帮助你解决你所遇到的问题。
首先,我们需要在内核级别告诉HTTP.SYS,让所有人都通过创build一个“Url Reservation”来与这个URL对话。 从pipe理命令提示符处:
netsh http add urlacl url=http://<LocalComputerName>:80/ user=everyone接下来,因为我想能够从外部(我的networking上的人,不仅仅是本地主机)与IIS Express交谈,那么我需要通过Windows防火墙允许IIS Express。 我可以从Windows中以graphics方式执行此操作,或者键入:
netsh firewall add portopening TCP 80 IISExpressWeb enable ALL
您可能不需要最后一个命令,因为您声明您已经创build了防火墙规则。
(从networking外部访问)许多住宅ISP(以及某些商业ISP)将阻止某些服务端口(如端口80或25)上的入站stream量。这通常是为了防止由于带宽使用而在住宅线路上运行业务服务。 另一种方法是在另一个端口上运行它(见下文)。
(从networking内部访问)您所描述的情况听起来像发夹式NAT。 这是一个很好的高层次的概述 。 您需要将NAT规则添加到您的路由器,以便始终将stream量发送到您的外部IP,端口80将通过您的路由器,而不是直接从您的networking中的主机到主机。 警告:您的路由器可能实际上无法做到这一点。
在IIS中更改端口绑定 ,然后重新启动网站。
我有同样的问题。 Windows防火墙阻止访问。 closures并再次检查。 我的猜测是,它会工作。