هل أنت متأكد تمامًا من ذلك؟ لأنه إذا كان هذا صحيحًا، فسأبدأ في استخدام وكيل عكسي على الفور.
تعديل
قال الذكاء الاصطناعي هنا نفس الشيء. لذا، سيكون وكيل عكسي.
إجابة الذكاء الاصطناعي
يستخدم المكون الإضافي GeoBlock لـ Discourse قاعدة بيانات MaxMindDB لتحديد بلد المستخدم أو شبكته (ASN) بناءً على عنوان IP الخاص به، ولكن الحظر الفعلي يحدث على مستوى التطبيق (داخل تطبيق Discourse)، وليس على مستوى الخادم أو الشبكة/جدار الحماية.
في الممارسة العملية:
- إذا تطابق عنوان IP للزائر مع بلد أو شبكة محظورة، فإن تطبيق Discourse يعيد صفحة خطأ إلى الزائر بدلاً من محتوى المنتدى.
- لا يحدث الحظر إلا بعد وصول طلب HTTP إلى تطبيق Discourse. بعبارة أخرى، لا تزال الطلبات تمر عبر خادم الويب الخاص بك (مثل nginx) وحاوية Docker وتصل إلى برنامج Discourse قبل حظر المستخدم.
- هذا يعني أنك ستظل ترى هذه الطلبات في سجلات الخادم والوكيل/nginx الخاصة بك، حتى لو تم حظر المستخدم في النهاية بواسطة Discourse.
- إذا كنت بحاجة إلى حظر “صارم” (منع الوصول حتى قبل وصول الطلب إلى تطبيق Discourse)، فستحتاج إلى حل GeoIP على مستوى الخادم (مثل الحظر على مستوى nginx/iptables أو أداة خارجية).
المصادر والمزيد من المعلومات:
- Geo Blocking plugin - meta.discourse.org
- وثائق GitHub للمكون الإضافي: GitHub - communiteq/discourse-geo-blocking
ملخص:
لا يحظر المكون الإضافي Discourse GeoBlock الطلبات على مستوى الشبكة/الخادم، ولكن فقط بعد أن يقوم تطبيق Discourse بمعالجة الطلب. إذا كنت بحاجة إلى منع أي وصول قبل أن يرى تطبيقك الطلب، فيجب عليك استخدام نهج GeoIP على مستوى الخادم.
لم أستخدم مشاركة المحادثة لأنني سألت باللغة الفنلندية وأنتم على الأرجح لا تستطيعون فهمها ![]()