Kong يحظر جميع عناوين الـ IP عند إضافة خاصية تحديد السرعة
مقدمة
يعتبر Kong من أحدث أدوات إدارة واجهات برمجة التطبيقات (API) التي تسهل عملية التحكم في تدفق البيانات وحماية التطبيقات من الهجمات. ومع ذلك، قد تواجه بعض المشاكل عند تطبيق المكونات الإضافية مثل تحديد معدلات الاستعلام، والتي قد تؤدي إلى حظر جميع عناوين IP، وهو ما نتناوله في هذا المقال.
تحديد معدلات الاستعلام في Kong
تحديد معدلات الاستعلام هو خاصية ضرورية للحفاظ على جودة الخدمة ومنع إساءة الاستخدام. عند استخدام Kong، يمكن تكوين هذه الخاصية بسهولة، ولكن قد تظهر حالة غير متوقعة، حيث يتم حظر جميع عناوين IP بدلاً من مجرد تلك التي تعدت الحدود المسموحة. وعند مراجعة الإعدادات السابقة، نجد أن معدل الاتصال المحدد للخدمات مثل خدمة المصادقة وخدمة التدقيق يجب أن يتم بشكل دقيق.
تحليل المشكلة
في الحالة التي تم تناولها، نجد أنه عند إعداد واجهة برمجة التطبيقات مع Kong، وقد تم استخدام ملف تكوين يحمل تفاصيل حول مسارات الخدمة والمكونات الإضافية، قد تم تحديد حدود المشاركة لخدمات المصادقة والتدقيق. كان التكوين كما يلي:
-
خدمة تحديد المعدل لخدمة المصادقة:
- الدقيقة: 100
- الساعة: 1000
- اليوم: 10000
- خدمة تحديد المعدل لخدمة التدقيق:
- الدقيقة: 100
- الساعة: 1000
- اليوم: 10000
وعلى الرغم من عدم وجود مشاكل مع حركة المرور العادية، يحدث أن جميع عناوين IP محظورة عندما يتم الوصول إلى حد المعدل. الأهم هنا هو أن حظر جميع العناوين وليس فقط العناوين المهاجمة هو ما يثير القلق.
الحلول المقترحة
إذا واجهت مشكلة حيث يقوم Kong بحظر جميع IPs عند استخدام المكونات الإضافية لتحديد المعدل، هناك عدة جوانب يمكنك مراجعتها:
-
ضبط إعدادات المكونات الإضافية: تأكد من أن إعدادات المكونات الإضافية لتحديد المعدل تم تطبيقها بشكل صحيح لكل خدمة بشكل منفصل. يمكن أن يؤدي عدم وضوح الحدود أو بيانات التكوين غير الصحيحة إلى سلوك غير متوقع.
-
مراقبة السجلات: تحليل سجلات الكونغ يمكن أن يوفر لك معلومات قيمة حول لماذا يتم حظر الـ IPs وكيفية تعامل النظام مع الطلبات. ابحث عن الأخطاء أو الرسائل التحذيرية التي قد تشير إلى المشكلة.
-
تعديل استراتيجية التكرار: استخدام استراتيجية أكثر مرونة لتحديد المعدل والذي يعتمد على حالة المستخدم أو مستوى التحميل الزائد. يمكنك التفكير في إضافة مستوى من التخصيص للمستخدمين المختلفين.
- الإعدادات في البيئة نفسها: تأكد من أن البيئة التي تعمل بها لا تتداخل مع إعدادات الشبكة وتؤثر بشكل غير مباشر على Kong. يمكن أن تكون هناك قاعدة جدار ناري أو بروكسي قد تؤثر على حركة المرور.
استنتاجات
لحل المشكلة التي تتعلق بـ node.js – Kong blocks all IPs when rate-limiting plugin is added، يجب أن يتم التركيز على تفاصيل الإعدادات وشروط تشغيل المكونات الإضافية. من خلال تحليل السجلات والتأكد من ضبط المكونات الإضافية بشكل صحيح، يمكنك تجنب حظر جميع عناوين IP والتحكم بشكل أفضل في حركة المرور.
بالتأكيد، يعد هذا الموضوع من المواضيع الحاسمة التي تتعلق بتحسين أداء التطبيقات وضمان استمرارية الخدمة. لذلك، من المهم مراجعة هذه الجوانب بشكل دوري لضمان أن النظام يعمل بكفاءة عالية.