use*_*855 9 networking windows firewall windows-7
我的理解这个TechNet文章,每说给我带来了那里的页面*,是我可以配置Windows防火墙以允许使用由特定的可执行文件的任何端口上的所有入站流量。
我意识到事实上的答案很可能是“不要这样做”,所以请理解;我在虚拟机中运行 Visual Studio 和 IIS Express,并且希望能够从主机操作系统进行连接以进行测试,因此并不真正关心打开 IIS Express 使用的所有端口的安全隐患。
我创建了一个入站规则,程序设置为%ProgramFiles% (x86)\IIS Express\iisexpress.exe
,这是根据任务管理器运行的可执行文件。所有其他规则规范都留空(任何本地地址、任何远程地址和本地端口、任何远程端口、“任何”允许的用户、“任何”允许的计算机)。但是,只有当我对 IIS Express 提供的特定端口有规则时,连接才有效。
由于它会让我的生活更轻松(并且主要是原则上,因为 technet 说它应该可以工作),我宁愿不必为我创建的每个应用程序添加防火墙规则。
* 任务“创建一个规则,允许程序在它需要的任何端口上侦听和接受入站网络流量。”
您在这里遇到了几个问题。一是它iisexpress.exe
实际上并不是负责侦听 HTTP 流量的进程。http.sys
该功能是作为 Windows 网络堆栈的内核模式部分实现的。(这样做是出于性能原因。有关详细信息,请参阅IIS 体系结构简介。)因此,创建规则iisexpress.exe
不会执行任何操作。
其次,http.sys
默认情况下不允许以非管理员身份运行的程序监听其他计算机。根据使用 WebMatrix 服务外部流量,您需要在管理命令提示符中运行此命令,以允许所有用户通过以下方式侦听其他计算机http.sys
:
netsh http add urlacl url=http://MACHNAME:PORT/ user=everyone
Run Code Online (Sandbox Code Playgroud)
替换MACHNAME
为将用于联系站点的主机名和PORT
流量的端口。我读过,使用*
而不是特定的主机名可以让它监听所有名称/接口,但我还没有亲自测试过,一些文档使用了它+
。无论哪种方式,一旦设置了 ACL,您就可以为该端口创建入站防火墙规则。
进一步阅读: 配置 HTTP 和 HTTPS。
旁注:有一个实际的环境变量指向 Program Files: 的 32 位版本%PROGRAMFILES(X86)%
。(不过,路径不是你的问题。)
归档时间: |
|
查看次数: |
7556 次 |
最近记录: |