代码之家  ›  专栏  ›  技术社区  ›  MJ X

Azure AppServices请求throthaling

  •  0
  • MJ X  · 技术社区  · 2 年前

    我有一个托管在Azure AppServices中的Angular应用程序,我从恶意攻击者那里收到了太多对我的AppServices的请求,我如何为我的Azure AppServices配置请求限制。

    0 回复  |  直到 2 年前
        1
  •  0
  •   Daredevil    2 年前

    有几种选择。将取决于您的具体用例。

    选项1 您可以将Azure应用程序网关与Web应用程序防火墙(WAF)功能一起使用。以下是一种通用方法:

    1. 使用WAF设置Azure应用程序网关 :

      • 创建Azure应用程序网关实例。
      • 在创建过程中,启用Web应用程序防火墙并选择适当的WAF层和策略。
      • 配置后端池以指向您的Azure应用程序服务。
    2. 配置自定义WAF规则 :

      • 转到应用程序网关下的Web应用程序防火墙。
      • 创建一个自定义规则来定义请求阈值。例如,您可以在一段时间内限制来自单个IP地址的请求数。
      • 将自定义规则分配给WAF策略。
    3. 更新DNS :

      • 如果您有应用程序的自定义域,请更新其DNS以指向应用程序网关的前端IP,而不是直接指向应用程序服务。
    4. 应用程序服务访问限制 :

      • 要确保流量仅通过应用程序网关,请转到Azure应用程序服务的“网络”部分。
      • 在“访问限制”窗格中,仅允许来自应用程序网关的子网的流量,并阻止所有其他流量。

    选项2 应用级速率限制的速率限制中间件 如果Angular应用程序有一个后端组件(例如Node.js),则可以使用中间件直接在应用程序中实现速率限制。比如,在Node.js后端,您可以使用express速率限制包。这允许您为特定路线或整个应用程序全局定义速率限制。

    选项3 Azure函数代理

    Azure功能支持代理可以重新路由请求和转换数据。虽然它们本身不支持节流,但您可以将它们与功能代码结合起来,根据卷、源IP等检查请求并对其采取行动。

    选项4 IP限制

    如果您有合法流量来源的IP地址的已知列表,则可以在Azure应用程序服务中设置IP限制,以仅允许来自这些IP的流量。这对速率限制没有帮助,但可以减少恶意流量。

    选项5 用于限制API请求的API管理。 如果您看到的请求是针对您在应用程序服务中托管的任何API。您可以使用Azure API管理为API实现请求节流