如果您在端口 8080 上运行 Web 应用程序并且不希望外部用户看到该应用程序,那么您如何在 Windows 防火墙中阻止它?

如果您在端口 8080 上运行 Web 应用程序并且不希望外部用户看到该应用程序,那么您如何在 Windows 防火墙中阻止它?

当我在咖啡店里开发我的应用程序时,我想确保没有人能看到运行该应用程序的应用程序localhost:8080

如何配置 Windows 防火墙以阻止外部连接到 8080 但仍然允许您连接到自己计算机上的端口?

答案1

下面这个解决办法适用于大多数版本的windows II本地网站。

一般情况下,只有您才能使用“localhost”访问您的本地网站。这是一个环回地址,始终指向同一台计算机和该机器上的 II 网站。因此,如果其他用户尝试使用该地址,它将指向其机器上 II 上的默认网站。

但是……我认为你的问题是,是否有人可以在新网络内访问你机器上的“默认网站”实例。不是使用“localhost”,但是是的,他们可以使用你分配的本地 IP 或网络上的 PC 名称(如果他们可以看到的话)。所以这是一个非常明智的问题。问这个问题值得称赞。

  1. 他们可以通过 ping 或其他方式获取您在网络中的本地 IP。然后,他们可以使用该 IP 并尝试 80 或 8080 端口(如果您添加了该端口)。
  2. 他们可以看到您的计算机名称,这也允许他们尝试 80 或 8080 端口并在 IIs 中查看您的本地默认网站。示例:“http://DavidsPC:8080“将由网络内部的某人执行。因此,如果有人能看到您的笔记本电脑名称,他们就可以通过这种方式在您的电脑上访问您的网站。

为了防止出现上述情况,请执行以下操作:

  1. 在您的笔记本电脑或 PC 上进入 IIs(我右键单击我的 PC 并选择“管理”,然后滚动到“服务和应用程序”下)。选择 Internet 信息服务,然后在右侧窗格中查找您的网站。
  2. 在 IIs 中找到您指定的“默认”网站。该网站通常会监听来自您机器外部的 http 调用。它通常被称为默认,除非您可以更改其名称。如果可以,请参阅下面的黑色主机名绑定。这是默认设置。
  3. 右键单击树列表中的网站,然后选择“编辑绑定”
  4. 如果使用 http 和/或 https,请单击其中的 80 和/或 8080 端口的空白条目。
  5. 主机名下应为空白,IP 应为“全部未分配”。这意味着您的默认网站将向用户浏览器发送他们在浏览器地址栏中输入的任何响应、PC 网络名称或本地网络 IP 以及分配给该框的端口 combp。不好!
  6. 单击以编辑空白主机名条目,以便添加一些名称或 IP。任何空白以外的内容。我会在主机名框中输入以下内容之一:“localhost”或“127.0.0.1”(环回地址)。您还可以分配 IPv6 环回或自定义文本名称。但您需要在该框中找到存储在 Windows 文件夹中的 Host 文本文件,然后手动将环回 IP 和新名称添加到其中。真是麻烦。因此,只需输入主机名的两个项目之一,然后单击保存。我会将 IP 保留为“全部未分配”,但您也可以将其简化为 IP。当您明确将主机名更改为这些条目之一时,现在需要在浏览器中访问网站。对于任何访问您网站的人来说,Localhost 是现在唯一可接受的地址。但 localhost 对除您之外的所有人都会失败,因为它指向用户的本地框。通过明确指定主机名,服务器将不再响应其分配的网络 IP、名称或除“localhost”之外的任何其他内容,无论他们尝试什么 IP。我更喜欢使用 127.0.0.1 作为主机名,因为它现在需要显式 IP 并覆盖所有未分配的 IP,并且现在任何文本名称都不起作用。但这取决于你。
  7. 对 8080 端口条目也进行此更改。我假设您也在那里添加了一个空白主机名。
  8. 确保端口 80 或 8080 以及 http 或 https 协议的绑定列表中没有空白主机名 IP 条目。
  9. 请确保重新启动您的网站实例或 II。

现在,您可以使用您的 PC 或网络中的其他 PC 来测试它是否有效,然后在浏览器中输入您的 PCName:8080 或本地分配的 NetworkIP:8080。也尝试使用端口 80 的那些。没有一个能起作用。您应该会得到 404 Not Found,而之前有人可以输入任何一个并从多台计算机在网络中查看您的网站。不要问我为什么微软会这样构建它。这个本地主机系统在 IIs 中已经这样使用了十五年多。对我来说,它一直是一个错综复杂的混乱!

在过去,当我们在网络中拥有大量服务器和网站并希望快速访问和测试它们时,我们只会使用 PC 名称、端口或将 IIs 设置中的 IP 绑定到主机文件中的自定义名称。

祝你好运!

-米奇·斯托克利

答案2

这个问题的答案问题我的Stackoverflow.com允许您进行此项设置,但是这是使用 Apache 而不是 IIS。

答案3

除非您明确打开它,否则 Windows 防火墙应该默认自动执行此操作。当您不在咖啡店时,也许您会用到它,但网络配置文件(家庭/工作或公共)或您想要使用的内容。如果您有允许访问 8080 的规则,请确保它仅对家庭/工作启用,而不对公共启用。假设您在连接到不受信任的接入点时使用公共,这显然是您应该做的。

相关内容