استخدام Discourse مع Cloudflare: أفضل الممارسات

نأمل أن يكون مفيدًا، ولكنني كتبت أيضًا دليلًا عامًا لأفضل الإعدادات هنا:

وأضاف أحد موظفي Cloudflare بعض الإرشادات والتصحيحات في قسم التعليقات.

أقوم بتحديث هذا الدليل وكنت أحاول معرفة ما إذا كانت هناك أي نصيحة جديدة من Discourse ووجدت هذه الصفحة.

سأضيف هذه إلى القواعد المُدارة الخاصة بي. شكرًا لك!

إليك نظرة عامة على القواعد المخصصة الخاصة بي. لقد ساعد هذا حقًا في تقليل البريد العشوائي وغالبًا ما (وليس دائمًا) يأتي بعض أقل حركة المرور جودة عبر شبكات VPN وحركة مرور مراكز البيانات (DC) التي ساعدت فيها هذه القواعد:

سأقوم بإعداد تقرير مناسب بالمحتويات الكاملة للقواعد، وأقوم بتشغيلها لمدة 6 أشهر تقريبًا والتحقق من نجاحها باستخدام أداة Log Explorer وفحص 10 آلاف حدث في كل مرة.

إعجابَين (2)

أحاول فهم تكامل Cloudflare باستخدام الإصدار المجاني قبل استخدامه على موقع discourse جديد. هل يمكن لأي شخص أن يشرح هذه النقاط بتفاصيل / أمثلة؟ لنفترض أن موقع discourse هو: ‘discourse.abc123.com

(1) هل يبدو أن Cloudflare يزيل رؤوس أمان nginx الأصلية الموجودة لدي؟

(2) لا أفهم هذه التعليقات: “إذا قررت تمكين شبكة توصيل المحتوى (CDN) الخاصة بـ CloudFlare (السحابة البرتقالية)، فأنت بحاجة إلى اتخاذ خطوة إضافية وإنشاء قاعدة صفحة لعنوان مثيل Discourse الخاص بك. يجب أن تقوم القاعدة بـ ‘تعطيل الأداء’ (لا أرى هذا الخيار) مما سيؤدي إلى إيقاف ميزات CloudFlare الموثقة جيدًا بأنها تتعارض مع Discourse.” و قم بإنشاء قواعد الصفحة التالية على dash.cloudflare.com/?to=/:account/:zone/rules:

  • اضبط مستوى التخزين المؤقت على “تجاوز” (Bypass) لـ community.example.com/session/*

  • قم بتهيئة إعدادات القواعد لتطبيع عناوين URL الواردة

أيضًا، هل هناك أي عقبات أخرى يجب أن أتعامل معها.

شكرًا مقدمًا.

لقد كنت أستخدم Cloudflare في وضع البروكسي أمام منتدى Discourse الخاص بي منذ صيف عام 2025 دون أي مشاكل؛ ببساطة، لم يعد هناك الكثير من الأشياء الخاصة بـ Discourse التي تحتاج إلى القيام بها في هذه الأيام لكي تعمل بشكل صحيح.

أحد أهم العناصر هو التأكد من تضمين قالب Cloudflare في ملف app.yml الخاص بك. بدون هذا، سترى فقط عناوين IP لخوادم Cloudflare في لوحة تحكم Discourse الخاصة بك، بدلاً من عناوين IP الفعلية للزوار.

القاعدة “تجاوز التخزين المؤقت لـ /session/\*” لا تزال تبدو ضرورية (قم بذلك كقاعدة تخزين مؤقت في الواجهة الجديدة)، وقاعدة “تخطي WAF عند إنشاء/تعديل المشاركات” ضرورية بالتأكيد (لديها كقاعدة مُدارة).

نظرًا لأنني أستخدم Discourse بشكل أساسي كنظام تعليقات لموقع ووردبريس، فقد قمت بإضافة ووردبريس لإضافة مدة حياة (TTL) تبلغ 60 ثانية لردود ajax على /wp-json/wp-discourse/v1/discourse-comments?post_id=xxxx التي يرسلها خادم الويب عند طلب الزوار لسلسلة تعليقات منشور ووردبريس محدد؛ يساعد هذا في إدارة أنماط الزوار المتقطعة. لقد أضفت قاعدة تخزين مؤقت لـ CF تحترم مدة الحياة (TTL) على عناوين URI التي تتضمن /wp-json/wp-discourse/. (لا يمكنني تعيين مدة حياة قصيرة بما فيه الكفاية على عناوين URL هذه عبر Cloudflare دون حساب Enterprise، لذلك أقوم بتعيين مدة الحياة على مستوى التطبيق عبر إضافة (mu-plugin) ثم أخبر CF باحترام مدة الحياة هذه عبر قاعدة تخزين مؤقت لـ CF).

بخلاف ذلك، والإعدادات الأساسية المذكورة في المنشور الافتتاحي للموضوع، ليس هناك الكثير مما يجب القيام به - يعمل Cloudflare بشكل جيد جدًا مع Discourse.

5 إعجابات

مرحباً، لقد قمت بإعداد هذا للتو وتم الانتهاء منه في 20 دقيقة.

أنا أستخدم خطة Cloudflare المجانية أيضاً، وبعض الإعدادات قد تغيرت بالفعل، إذا استخدمت شريط البحث في لوحة تحكم Cloudflare فسيظهر لك المكان الجديد لها، وواجهت بعض المشاكل في العثور على بعض الإعدادات أيضاً.

يتطلب هذا إعادة بناء

إعجابَين (2)

لقد قمت فقط بتشغيل خدمة Xiao Huang Yun (الخدمة السحابية الصفراء الصغيرة) ولم أقم بأي عمليات أخرى ~ سأقوم بإعدادها ورؤية التأثير عندما يكون لدي وقت.

أكملت مقال إعداد Discourse + Cloudflare WAF الذي ذكرته سابقاً:

يغطي مجموعة القواعد المخصصة الكاملة التي أستخدمها على منتدى Discourse الخاص بي: قواعد التخطي للأصول الثابتة و /message-bus، وقواعد الحظر للمماسحات الضوئية، وتحديات ASN والجغرافيا، وتحديد المعدل المضبوط لـ Discourse، واستثناءات القواعد المُدارة.

كما وجدت شيئًا يحتاج إلى توضيح في تعبير إنشاء/تحرير المنشور في الدليل الرسمي: عامل تشغيل التعبير النمطي matches يتطلب خطة Business. لذلك استخدمت في المقال بديلاً لـ starts_with يعمل مع خطط Pro.

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

3 إعجابات

أريد أن أعرف. ما الفرق بين هذا الإعداد وطريقة تفعيل السحابة الصفراء الصغيرة فقط مع ترك الباقي على الإعدادات الافتراضية. شكراً لك.

إعجاب واحد (1)

سؤال جيد. مع إعدادات السحابة البرتقالية الافتراضية فقط، تحصل على خدمة أسماء النطاقات (DNS)، وشبكة توصيل المحتوى (CDN)، وحماية من هجمات حجب الخدمة الموزعة (DDoS)، ومجموعة القواعد المُدارة المجانية. هذا أساس متين وسيعمل Discourse بشكل جيد مع ذلك فحسب.

السبب الذي يدفع الكثيرين للذهاب أبعد من ذلك هو غالبًا البريد العشوائي (SPAM)، ولكن أيضًا النطاق الترددي المُهدر/موارد الخادم، وسرعة الصفحة العامة/أداء التحميل.

فيما يتعلق بالبريد العشوائي، كنا نتلقى ما بين 5 إلى 10 منشورات عشوائية في الأسبوع، وفي بعض الأحيان كانت الضغوط شديدة لدرجة أنني كنت أبحث بنشاط عن حلول هنا في هذه المنتديات.

منذ نشر هذه القواعد المخصصة، انخفض ذلك إلى ربما 2 أو 3 شهريًا. المشكلة الرئيسية المتبقية هي واحد أو اثنين من المتنمرين والمشاغبين الذين يستمرون في التسجيل بحسابات جديدة عند القبض عليهم. ولكن هذا موضوع آخر! أحدث الجمع بين تحدي حركة مرور مراكز البيانات وشبكات افتراضية خاصة (VPN)، وتحدي حركة مرور تور (Tor) والبلدان الإشكالية فرقًا كبيرًا.

بالإضافة إلى البريد العشوائي، هناك جانب موارد الاستضافة. معرفة ما تُستخدم فيه موارد الاستضافة الخاصة بك بالضبط تقطع شوطًا طويلاً. كما أنه جيد للإنترنت بشكل عام ألا يتم إمداد حركة المرور الآلية/الروبوتات.

ابدأ باستضافة قوية وسريعة على شبكة جيدة، وهذا هو الأهم. بعد ذلك، يضمن Cloudflare في الأعلى حصول المستخدمين البعيدين عن خادمك على تجربة سريعة. تساعد طبقة التخزين المؤقت حتى مع الإعدادات الافتراضية، ولكن تجاوز الإعدادات الافتراضية يستمر في تحسين كل من الأداء والأمان.

بشكل افتراضي، يأتي Cloudflare بإعدادات آمنة للغاية للتمكين دون آثار جانبية. ولكن هناك العديد من الإعدادات الإضافية الآمنة أيضًا للتمكين ولم يتم تشغيلها افتراضيًا. ويجب أن تكون القواعد المخصصة مخصصة لأن Cloudflare لا يقدم أي نوع من المعالجات حيث تحدد “أنا أشغل Discourse” أو “أنا أشغل WordPress” ويقوم ببناء قواعد لك. ستكون هذه ميزة رائعة، وأخطط لاقتراحها في مكالمتي التالية معهم.

لذا يعتمد الأمر على ما تريد. إذا كانت الإعدادات الافتراضية تعمل ولا يمثل البريد العشوائي مشكلة، فقد لا تحتاج إلى أي من هذا.

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

إعجابَين (2)

أعتقد أنني اتبعت التوصيات (أنا أستخدم Cloudflare المجانية)، ولدي مشكلتان لاحظتهما حتى الآن:

(1) شاشة تسجيل الدخول الرئيسية فارغة في كل مرة عند الوصول الأول؛ إذا نقرت على الرابط واضغطت على Enter مرة أخرى، تظهر.

(2) ملفات PDF المضمنة لا تعمل، فلا تظهر ولكن يمكن تحميلها على أي حال. لقد حاولت تجاوز امتدادات ملفات PDF في قاعدة التخزين المؤقت، لكن دون جدوى.

إيقاف Cloudflare مؤقتًا لا يساعد. ولا تمثل هاتان المشكلتان أي مشكلة إذا لم أستخدم Cloudflare إلا كخادم أسماء (DNS) (اللون الرمادي).

هل توجد أي أفكار حول ما يجب علي فعله لأفضل طريقة لتصحيح أو إصلاح هاتين المشكلتين؟

شكرًا مقدّمًا.