يطبق Discourse حدودًا عالمية للمعدل لكل عنوان IP لحماية المواقع من الزيارات المفرطة والإساءة. ومع ذلك، هناك سيناريوهات مشروعة حيث تحتاج إلى إضافة عناوين IP محددة إلى القائمة البيضاء لتجاوز حدود المعدل هذه. يشرح هذا الدليل كيفية تكوين استثناءات لتحديد المعدل في تثبيتات Discourse المستضافة ذاتيًا.
إضافة عناوين IP إلى القائمة البيضاء
عندما تحتاج إلى زيادة حدود المعدل العالمية لكل عنوان IP لعناوين IP أو نطاقات IP محددة، ستحتاج إلى تعديل ملف تكوين الحاوية (app.yml) عن طريق إضافة متغير البيئة DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS.
تحذير: تذكر أنه على الرغم من أن المتغير يقول “IP”، إلا أنه يعني حقًا “حاوية”، لذا يمكن أن يكون IP، أو مستخدم، أو أي شيء آخر إذا تمت إضافة نوع تصنيف جديد بواسطة إضافة.
إضافة عنوان IP واحد
لإضافة عنوان IP واحد إلى قائمتك البيضاء:
DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS: 192.168.1.100
سيؤدي هذا إلى إعفاء عنوان IP 192.168.1.100 من قواعد تحديد المعدل القياسية.
إضافة عناوين IP متعددة أو نطاقات CIDR
للحصول على عناوين IP متعددة أو نطاقات IP باستخدام تدوين CIDR، استخدم تنسيق الأسطر المتعددة مع بناء جملة YAML >-:
DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS: >-
10.0.0.0/24
172.16.10.0/16
192.168.1.50
2001:db8:c0:ffee::/64
يعفي هذا التكوين:
- الشبكة الكاملة
10.0.0.0/24(256 عنوان IP) - الشبكة الكاملة
172.16.10.0/16(65,536 عنوان IP) - عنوان IP الفردي
192.168.1.50 - الشبكة الكاملة
2001:db8:c0:ffee::/64(IPv6)
تأكد من تنسيق YAML الصحيح، خاصة عند استخدام بناء جملة الأسطر المتعددة مع
>-.
إعادة البناء
بعد تعديل تكوين الحاوية، ستحتاج إلى إعادة بناء الحاوية حتى تدخل التغييرات حيز التنفيذ:
cd /var/discourse
./launcher rebuild app
اعتبارات الأمان
كن حذرًا عند إضافة عناوين IP إلى القائمة البيضاء. كل عنوان IP أو نطاق معفى يتجاوز حماية Discourse المضمنة ضد الإساءة والزيارات المفرطة.
أفضل الممارسات:
- قم فقط بإدراج عناوين IP التي لها حاجة عمل مشروعة (على سبيل المثال، خدمات المراقبة، تكاملات واجهة برمجة التطبيقات، الشركاء الموثوق بهم).
- استخدم أضيق نطاقات IP الممكنة بدلاً من الشبكات الكبيرة.
- قم بمراجعة قائمتك البيضاء بانتظام وإزالة عناوين IP التي لم تعد تتطلب إعفاءً.
تذكر: يمكن أن تعرض القائمة البيضاء المتساهلة بشكل مفرط موقعك لإساءة محتملة أو سيناريوهات رفض الخدمة.
استكشاف الأخطاء وإصلاحها
إذا كنت لا تزال تواجه أخطاء في تحديد المعدل على الرغم من تكوين الاستثناءات:
- تحقق من استخدام عناوين IP الصحيحة في التكوين الخاص بك.
- تأكد من إعادة بناء الحاوية بشكل صحيح بعد تغيير التكوين.
- افحص سجلات Discourse بحثًا عن رسائل تحديد المعدل المتعلقة بعناوين IP المعنية.
- إذا كنت تستخدم وكيلًا/موازن تحميل، فتأكد من أنه يقوم بإعادة توجيه عنوان IP العميل الأصلي بشكل صحيح.