使用 Windows7 Home Premium。它是一台开发机器,但那不重要。
我已经安装了 IIS,并且可以浏览http://本地主机从本地计算机访问网站。默认网站设置为使用端口 80。
我向 IIS 添加了另一个网站,并将其设置为使用 32 位应用程序池和端口 81。当我尝试通过 localhost 浏览该网站时,出现“无法建立连接,因为目标计算机主动拒绝它 127.0.0.1:81”
好的,这很简单,对吧?只需在 Windows 防火墙中启用端口 81 上的 HTTP,对吧?我想使用防火墙中的端口 80 规则作为模式。
令我惊讶的是,Windows 防火墙中有一个端口 80 规则,但是未启用。这是来自 Windows 防火墙 MMC 的片段:
但是我能够通过端口 80 连接到本地主机,
但无法连接到本地主机端口 81。
为什么?
答案1
我很确定防火墙不会阻止/检查 localhost/loopback 地址 (127.0.0.1),因为这是你的电脑。因此,由于目标和源是相同的,防火墙实际上没什么用。
当您启用端口 81 或完全禁用防火墙时,您还能访问第二个站点吗?如果不能,则可能是 IIS 配置问题,而不是防火墙问题。
答案2
按本地端口对入站规则进行排序,看看其他规则是否允许连接到端口 80。例如,默认规则集 - “Windows 远程管理 - 兼容模式(HTTP-In)”中有一些规则也允许端口 80 连接,并且默认情况下处于启用状态。