代码之家  ›  专栏  ›  技术社区  ›  Adam

Kubernetes Nginx入口速率限制

  •  0
  • Adam  · 技术社区  · 3 年前

    我希望使用以下注释来限制DDOS保护的速率

    nginx.ingress.kubernetes.io/limit-connections: "50"
    nginx.ingress.kubernetes.io/limit-rps: "10"
    nginx.ingress.kubernetes.io/limit-rpm: "100"
    nginx.ingress.kubernetes.io/limit-burst-multiplier: "20"
    

    我的问题是: 这些解决方案受IP地址的速率限制。

    是否存在一个IP地址下有许多用户(代理),因此许多用户获得一组费率,从而影响其使用的情况?

    或者每个IP地址真的只有一个用户吗?

    谢谢

    0 回复  |  直到 3 年前
        1
  •  2
  •   Harsh Manvar    3 年前

    Nginx入口使用 A leaky bucket, FIFO queue 对于速率限制。

    Nginx入口有一些限制,比如:

    • 请求按以下方式计数 客户端IP ,这是不准确的。当你想通过用户身份进行速率限制时,这没什么用。
    • 监控被拒绝的请求并不容易

    通过使用此功能,您可以阻止一定数量的请求,但这并不准确,您可以尝试使用POC。

    有一篇关于Nginx限速的好文章: https://medium.com/titansoft-engineering/rate-limiting-for-your-kubernetes-applications-with-nginx-ingress-2e32721f7f57#:~:text=When%20we%20use%20NGINX%20ingress,configure%20rate%20limits%20with%20annotations.&text=As%20an%20example%20above%2C%20the,qps )%20on%20%20Hello%20服务。