ASP.Net 中的 IP 节流

IP Throttling in ASP.Net

我有一个 ASP.Net 站点(使用 Web API 2,虽然这不重要)托管在 Azure 应用服务中。

我想实施 IP 限制以防止来自单个 IP 地址的请求过多(足够高以允许 universities/businesses)。我知道 App Services 有一些内置的 DDOS 保护,但我也想防止抓取等

ASP.Net 或 Azure App Services 似乎都没有内置此功能。

两个选项:

  • 使用 Azure API Management - 这充当后端前面的代理。它的大部分功能都是针对 API 的,这将被其他开发人员使用,但这也可以用于移动后端,只有一个 API 用户(您的应用程序)。 APIM 允许您在请求到达后端之前对其进行过滤和转换,包括基于 IP 地址的限制。
  • 或者,将其构建到应用程序本身中。有各种图书馆可以帮助解决这个问题,包括 this one.

如果您对这两种方法都有强烈的偏好,我很想在评论中听听您的想法。