projectcontour / contour

Contour is a Kubernetes ingress controller using Envoy proxy.
https://projectcontour.io
Apache License 2.0
3.7k stars 671 forks source link

Per IP rate limit? #6411

Closed sabershahhoseini closed 3 weeks ago

sabershahhoseini commented 4 months ago

Is there any way to apply per IP rate limit? Seems like local rate limits do not care about IP and only thing is they care is how many requests are given to upstream service.

I mean, if someone just bulk requests to my service, anyone else gets 429? It's not good!

github-actions[bot] commented 4 months ago

Hey @sabershahhoseini! Thanks for opening your first issue. We appreciate your contribution and welcome you to our community! We are glad to have you here and to have your input on Contour. You can also join us on our mailing list and in our channel in the Kubernetes Slack Workspace

sunjayBhatia commented 4 months ago

Is there any way to apply per IP rate limit? Seems like local rate limits do not care about IP and only thing is they care is how many requests are given to upstream service.

Envoy's local rate limit filter does not offer more advanced mechanisms for filtering requests or applying different requests based on source IP

this can be achieved using global rate limiting and using the request source IP in a descriptor that the rate limit server applies a specialized rate limit for, see: https://projectcontour.io/docs/1.28/config/rate-limiting/#global-rate-limiting

github-actions[bot] commented 2 months ago

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

You can:

Please send feedback to the #contour channel in the Kubernetes Slack

github-actions[bot] commented 3 weeks ago

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

You can:

Please send feedback to the #contour channel in the Kubernetes Slack