Retour à la leçonMission
Mission : le rate limiting qui laisse tout passer en production
Corriger un middleware de rate limiting en mémoire locale devenu inefficace multi-instances, et fixer un ordre de middlewares incorrect.
Contexte
RateLimitMiddleware de app/main.py stocke ses compteurs dans un simple dict Python et fonctionnait parfaitement en développement. Depuis le déploiement sur trois workers Gunicorn, un attaquant peut envoyer trois fois plus de requêtes que la limite annoncée sans jamais être bloqué. Par ailleurs, l'ordre d'ajout des middlewares (RateLimitMiddleware puis GZipMiddleware) ne produit pas l'ordre d'exécution attendu par l'équipe.