يحد تحديد معدل الطلبات من عدد الطلبات التي يمكن لعميل ما تقديمها في إطار زمني معين. يتم تطبيقه على طبقات متعددة لأن كل واحدة تشهد شيئًا مختلفًا، وتقوم بمفتاحه بـ كل ما يحدد المسيء.
يحد تحديد معدل الطلبات من عدد الطلبات التي يمكن لعميل ما تقديمها في إطار زمني معين. يتم تطبيقه على طبقات متعددة لأن كل واحدة تشهد شيئًا مختلفًا، وتقوم بمفتاحه بـ كل ما يحدد المسيء.
429 Too Many Requests مع Retry-After حتى يتراجع العملاء بأدب بدلاً من الطرق المستمرة.# Define a shared-memory zone keyed by client IP.
# rate=10r/s = the steady refill rate (token bucket).
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
server {
location /api/ {
# burst=20: allow a short spike of 20 queued requests
# nodelay: serve the burst immediately instead of spacing it out
limit_req zone=api burst=20 nodelay;
# Return 429 (not the default 503) so clients see a rate-limit signal
limit_req_status 429;
proxy_pass http://backend;
}
}
هنا كل IP تعاد ملأها بـ 10 طلبات/ثانية، قد تنفجر حتى 20، وأي شيء ما وراء ذلك يحصل على 429.
تحديد معدل الطلبات هو دفاعك الأرخص والمستمر ضد فيضانات Layer 7، وملء بيانات الاعتماد، والمكشطات الجامحة. تطبيقه على طبقات (edge للحجم، proxy للأصل، app للمنطق التجاري) ومفتاحه بشكل صحيح يوقف المسيئين بينما يمر المستخدمون الحقيقيون — والانفجارات الشرعية — بدون لمس. يحتفظ الحد من الخطوط الأساسية الحقيقية بما يمنعه من أن يصبح انقطاعًا من صنعك.
مكتبة من أسئلة مقابلات تقنية المعلومات مع إجابات مفصّلة — من المبتدئ إلى المتقدم.
تبرع