我需要阻止一些外部源 IP 来访问 Azure 应用程序网关中后端池中的某些站点

我需要阻止一些外部源 IP 来访问 Azure 应用程序网关中后端池中的某些站点

我的情况是这样的:

  • 我的数据中心的应用程序网关:
  • 后端池中有两台服务器,有 5 个网站(a.com、b.com 和 c.com)
  • 另一个后端池,其中有两台服务器和 5 个网站(e.com、f.com 和 g.com)

在我的后端池中,我设置了一些块,以便某些外部 IP 无法访问网站(a.com),而所有其他网站(b.com 和 c.com)都可以被任何外部源访问。

应用程序网关文档指出,外部(客户端 IP)对于后端池是不可见的,因为到达后端池的(客户端 IP)是应用程序网关子网的 IP。

https://docs.microsoft.com/en-us/azure/architecture/example-scenario/gateway/firewall-application-gatewayat(仅限应用程序网关)

“参考文档 Azure:也就是说,应用程序网关终止来自客户端的 Web 会话,并与其后端服务器之一建立单独的会话。”

也就是说,我将在 IIS 上看到的 IP 来自应用程序网关子网。

这样,在 IIS 级别,我无法进行这种限制,因为如果不使用应用程序网关,我就无法像往常一样过滤外部 IP。

有没有其他方法可以通过应用程序网关或其他 Azure 层进行阻止?

记住,我在同一个应用程序网关上与多站点合作。

谢谢。

答案1

流量来自的 IP 始终是应用程序网关 IP,您实际上无法执行任何操作来更改这一点,并且对于前门等其他 Azure 服务也是如此。

但是,App Gateway 确实在请求中添加了一个名为“X-Forwarded-For”的标头,其中包含客户端的源 IP,因此如果您可以基于此进行过滤,那么您可以执行同样的事情。

相关内容