允许单个 IP 使用防火墙访问 ASP.NET Web 服务 (ASMX)

允许单个 IP 使用防火墙访问 ASP.NET Web 服务 (ASMX)

我在单独的项目中有一个 asp.net web 服务 (asmx),该项目托管在 Windows 服务器上,上面运行着其他 asp.net web 应用程序。如何限制 asp.net web 服务只能通过单个 IP 地址访问?我希望我的 web 服务只能通过我配置的一个 IP 访问。如果请求来自任何其他 IP,它一定不能到达我的 web 服务,并被 Windows 防火墙本身丢弃。我知道这与Windows防火墙

我以前为 SQL Server 做过,但我不知道如何配置单个 asp.net web 服务项目这样做。

答案1

除非您的 Web 服务在单独的 IIS 实例中运行,且该实例的端口与您的其他 asp.net 站点不同,否则防火墙无法执行您的要求。防火墙只能通过端口进行阻止,而不能通过 URL 进行阻止。

所以你有两个选择。

  1. 将 Web 服务移至在非标准端口(81、8080 等)上运行的自己的 IIS 实例。然后添加防火墙规则,限制指定 IP 地址到该端口的传入流量。

  2. 向您的 Web 服务添加代码,使其真正负责拒绝来自无效 IP 地址的请求。使用您有权访问的会话/请求对象应该很容易做到这一点。

相关内容