الإعدادات المتاحة لحدود المعدل العالمية والتنظيم المتتابع

يشحن ديسكورس (Discourse) مع 3 حدود مختلفة لمعدل الطلبات العالمية يمكن لمسؤولي الموقع تكوينها.

حدود معدل الطلبات العالمية لكل عنوان IP

تنطبق هذه الحدود على كل عنوان IP فريد يصل إلى تطبيق ديسكورس. (يتم استبعاد الملفات التي يتم تقديمها مباشرة من نظام الملفات أو شبكة توصيل المحتوى CDN)

بشكل افتراضي، يتم تمكين حد معدل الطلبات هذا، ويمكنك تعطيله أو تعيينه على وضع الإبلاغ.

DISCOURSE_MAX_REQS_PER_IP_MODE: القيمة الافتراضية هي block (حظر)، ينطبق حد معدل الطلبات هذا مباشرة. (الخيارات الأخرى هي warn (تحذير)، وwarn+block (تحذير+حظر)، وnone (لا شيء))

DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE: عدد الطلبات لكل عنوان IP في الدقيقة (الافتراضي هو 200)

DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS: عدد الطلبات لكل عنوان IP كل 10 ثوانٍ (الافتراضي هو 50)

DISCOURSE_MAX_ASSET_REQS_PER_IP_PER_10_SECONDS: عدد طلبات الأصول (الصور الرمزية/ملفات CSS) لكل عنوان IP كل 10 ثوانٍ (الافتراضي هو 200)

DISCOURSE_MAX_REQS_RATE_LIMIT_ON_PRIVATE: هل يجب أن ينطبق حد معدل الطلبات على عناوين IP الخاصة التي تصل إلى ديسكورس؟ الافتراضي هو خطأ.

DISCOURSE_SKIP_PER_IP_RATE_LIMIT_TRUST_LEVEL: استخدام حدود معدل الطلبات لكل مستخدم مقابل حدود معدل الطلبات لكل عنوان IP للمستخدمين الذين لديهم مستوى الثقة هذا أو أعلى (الافتراضي هو 1)

DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS: قائمة مفصولة بمسافات لعناوين IP أو كتل CIDR مستثناة من تحديد معدل الطلبات لكل عنوان IP. على سبيل المثال: 14.15.16.32/27 216.148.1.2

حدود معدل طلبات واجهة برمجة تطبيقات المستخدم (User API)

تكتسب تطبيقات الهاتف المحمول مفتاح واجهة برمجة تطبيقات للمستخدم لكل جهاز للوصول إلى ديسكورس نيابة عن مستخدم (باستخدام بروتوكول مفتوح). هذه المفاتيح لواجهة برمجة تطبيقات المستخدم محدودة للغاية.

DISCOURSE_MAX_USER_API_REQS_PER_MINUTE: الافتراضي 20
DISCOURSE_MAX_USER_API_REQS_PER_DAY: الافتراضي 2880

حدود معدل طلبات واجهة برمجة تطبيقات المسؤول (Admin API)

يمكن إنشاء مفاتيح واجهة برمجة تطبيقات المسؤول عبر صفحة yoursite.com/admin/api/keys. يمكن لهذه المفاتيح العمل نيابة عن المستخدمين، ولكنها تتطلب امتيازات إدارية لإنشائها. يوجد حد قدره 60 طلبًا في الدقيقة، مشترك بين جميع المفاتيح.

يمكن للمستخدمين المستضافين ذاتيًا تغيير هذا في ملف app.yml الخاص بهم. سيحتاج العملاء المستضافون إلى الاتصال بمزود الاستضافة الخاص بهم.

DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE: 60

حدود معدل طلبات واجهة برمجة تطبيقات الإضافة مستكشف البيانات (Data Explorer Plugin)

DISCOURSE_MAX_DATA_EXPLORER_API_REQ_MODE: القيمة الافتراضية هي warn (تحذير)، ينطبق حد معدل الطلبات هذا مباشرة. (الخيارات الأخرى هي block (حظر)، وwarn+block (تحذير+حظر)، وnone (لا شيء))

DISCOURSE_MAX_DATA_EXPLORER_API_REQS_PER_10_SECONDS: 2

ملاحظة: الطلبات التي تتم عبر واجهة مستخدم مستكشف البيانات لا تُحتسب ضمن حد معدل الطلبات.

ماذا أفعل إذا وصلت إلى حد معدل الطلبات وتم تقييدي؟

إذا كنت تستهلك واجهة برمجة التطبيقات برمجيًا وتتلقى رمز حالة 429 للرد بالتقييد، فيجب عليك احترامه والتباطؤ.

كمستخدم نهائي، لا ينبغي أن تواجه حدودًا لمعدل الطلبات حقًا، وإذا واجهتها، فتباطأ. قد تؤدي إلى تشغيلها عن طريق فتح 50 علامة تبويب بسرعة أو القيام بشيء من هذا القبيل.

تحذير بشأن جدار الحماية والوكيل! :warning:

إذا كنت تستخدم وكيلًا عكسيًا (reverse proxy) غير مُكوَّن بشكل صحيح، فقد يعتقد ديسكورس أن جميع الطلبات قادمة من عنوان IP واحد، ومن المحتمل جدًا أن تصل إلى حدود معدل الطلبات مبكرًا. تأكد من تكوين الوكيل العكسي الخاص بك لإعادة توجيه عنوان IP بشكل صحيح.

كيف أقوم بتعديل هذه الحدود؟

لتعديل الحدود، أضف التغيير المطلوب في ملف app.yml الخاص بك في قسم env.

:discourse: إذا كنت مستضافًا بواسطة ديسكورس، وكنت على خطة المؤسسات (Enterprise)، فاتصل بـ team@discourse.org إذا كنت بحاجة إلى تعديل أي من هذه الحدود.

لا يمكن تعديل حدود معدل الطلبات العالمية على خطط المبتدئ (starter) أو المحترف (pro) أو الأعمال (business).

60 إعجابًا
Troubleshooting a 429 (rate limit)
Is there a limit of API requests?
Rate limits for API users
Any way to turn off RateLimiter temporarily for bulk creation by admin?
Changing/removing API rate limit with category creation
Internal links not oneboxing in private messages
How to improve the forum api call number limit?
Discourse-topic-organizer causing "Slow down, too Many Requests from this IP Address"
How-to disable or tune rate limiting by ip address?
How to edit "hidden" site_settings?
Rate limit errors although IP is whitelisted
API rate limits
User API keys specification
Why semrushbot and ahrefsbot are blocked by default?
429 error when opening multiple topics
Remove the ip limits
Error code 429 when utilising a Zapier integration
Understanding /logs/report_js_error 429
Direct URL for the "email me a login link" feature
Do not see discourse/config/site_settings.yml to set USER API limits
Uncaught (in promise) error
Webhook connect to post comments to WordPress working unreliably
Changing/removing API rate limit with category creation
Enable user to Generate API key
Import posts through API (time delay)
You Have Performed this Action Too Many Times Error
Api call returns nothing when too many requests
Very slow discobot certificate generation on our server
API rate limits
Create and configure an API key
Fetch All Posts from a Topic Using the API
Discourse REST API Documentation
Discourse API Generating 429
How to disable api limits?
Global rate API Limit is not working on live server
How to avoid throttling limits with admin API key?
Set Environmental Variables
Increase rate limit for API?
How do I disable rate limiting from a single IP
Generate User Api Key Without User Approval
Default value for id_10_secs_limit
Semantic Search API
Self-hosting Index
Issues when I enable Component, maybe Right Sidebar Blocks?
Direct URL for the "email me a login link" feature