Der Grund, warum ich dies tun möchte, ist, dass Benutzer mit JavaScript gegen unsere API entwickeln und einige Entwickler es vermasseln und Besucher veranlassen, den Server mit AJAX-Anforderungen zu zuschlagen. Wenn dies passiert, möchte ich in der Lage sein, die API-Anforderungen auf vielleicht 50 Anforderungen pro Minute oder etwas in diesem Sinne zu drosseln .
Hinweis: (besonders DB-intensive Ressourcen, also möglicherweise eher auf Pfadebene als serverweit (z. B. "/ json_api /", aber nicht "/ static /").
quelle
zone=limit_req_zone
stattdessen setzen?$http_authorization
Variable verwenden, um eine neue Zone zu definieren, in der der Schlüssel ein solcher Header ist, und nicht die IP-Adresse.limit_req_zone $http_authorization zone = per_user : 10m rate = 5r/s
Verwenden Sie dann dieper_user
Zone in den Abschnitten des Standorts, in denen Sie die Begrenzung der Benutzerrate vornehmen möchten . Ungetestet habe ich nur die Dokumentation und die Liste der Nginx-Variablen gelesen ... lass es mich wissen, wenn du das ausprobierst!