Discourse و Cloudflare

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


شخصيًا، أستخدم Cloudflare مع Discourse هنا في عام 2022 دون أي مشكلة.

أقوم بتقليل / تخزين مؤقت لجميع الصفحات و HTML / CSS / JS بالكامل، مع ضغط Brotli. لقد استبعدت فقط / admin من أداء Cloudflare كتفضيل شخصي.

لم أقم بإيقاف تشغيل Rocket Loader، ولكنه كان متوقفًا بالفعل افتراضيًا. التغيير الوحيد الآخر الذي قمت به هو إضافة:

- "templates/cloudflare.template.yml"

إلى إعدادات app.yml الخاصة بي لاستعادة عناوين IP للمستخدمين.

تجدر الإشارة أيضًا إلى أن الموقع عمل بشكل جيد قبل أن أقوم بإجراء أي تعديل.

7 إعجابات

طالما أنك تدرك أن ما تفعله غير مدعوم تمامًا، فلا بأس بذلك.

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

إذا سبق لك مشاهدة إعادة بناء، فستعرف بالفعل أن التصغير يحدث بالفعل داخل Discourse. لا يقوم CloudFlare بتصغير الموقع بشكل أفضل مما يفعله بالفعل. هل قمت بقياس الأداء مع تمكين CF وبدونه؟

ولا تنس أنه بمجرد تحميل تطبيق JavaScript في المتصفح، فإن CloudFlare يبطئ موقعك بالفعل. يجب أن تمر كل أوقية من حركة المرور بين التطبيق والخادم عبر شبكة CloudFlare، مما يزيد من عدد القفزات الشبكية وبالتالي زمن الاستجابة.

ولكن إذا كان يعمل معك، فهذا رائع. فقط تأكد من إيقافه قبل طلب الدعم، لأنه المتهم الأول (والأكثر احتمالاً).

10 إعجابات

لدي شعور بأن معظم (إن لم يكن كل) المخاوف بشأن استخدام Cloudflare مع Discourse تستند إلى مشكلات من سنوات مضت.

لقد قطعت كل من Cloudflare و Discourse شوطًا طويلاً في العقد الماضي.

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

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

ومع ذلك، هل أنت متأكد من أن البيان بأن Discourse لا يدعم Cloudflare لا يزال دقيقًا؟ يحتوي Discourse حرفيًا على آليات مدمجة للتعامل مع Cloudflare.

على أي حال، لا، لم أقم بإجراء مقارنة قبل وبعد على https://gtmetrix.com/، ولكن بالنسبة لي هذا أمر غير مهم إلى حد ما لأن لدي أسبابًا أخرى لاستخدام Cloudflare بخلاف السرعة فقط، لذلك ما لم يتسبب ذلك في انخفاض كبير (أو حتى ملحوظ) في السرعة، كنت سأستخدمه على أي حال.

فكرة أخيرة: نعم، في أي وقت تستخدم فيه أداة CDN/تخزين مؤقت/تصغير/إلخ، خاصة إذا كنت قليل الخبرة، يمكن أن تكسر الأشياء. هذا صحيح لجميع مواقع الويب بغض النظر عن كيفية بنائها. ولكن، فكرة أن Cloudflare مضمونة تقريبًا لإحداث فوضى في جميع مواقع Discourse تبدو وكأنها معلومات قديمة، تحتاج إلى التوقف عن نشرها.

إعجابَين (2)

قالب CloudFlare ليس إضافة جديدة، وإذا أخذت الوقت الكافي للنظر في المصدر، سترى أن الغرض الوحيد منه هو الحصول على نطاقات IP الخاصة بهم وتعديل nginx للتأكد من أنه ينظر إلى CF-Connecting-IP كعنوان العميل الحقيقي الذي يحجبه وكيل السحابة البرتقالية الذي توفره. إنه ليس شيئًا جديدًا، لقد كان موجودًا منذ سبع سنوات على الأقل. يمكنك استخدام Cloudflare لإخفاء مكان خادمك، أو العمل كشبكة توصيل محتوى (CDN) رخيصة للتحميلات، ولكن في كلتا الحالتين نوصي بتعطيل جميع ميزات الأداء واستخدام قاعدة صفحة لتمكين التخزين المؤقت لمجلد التحميلات الخاص بك.

ما الفائدة التي ستوضحها الاختبارات عبر GTMetrix؟ أعتقد أن لديك فهمًا خاطئًا أساسيًا لكيفية عمل Discourse لتستشهد بذلك. Discourse ليس موقعًا إلكترونيًا، إنه تطبيق Javascript. التنقل في الموقع لا يقدم صفحات HTML مسطحة للمتصفح. يتحدث تطبيق Javascript الذي يتم تحميله في متصفحك مباشرة إلى الخادم، وهذا هو السبب في أن بعض عناصر الصفحة لا تبدو وكأنها تعيد التحميل بين النقرات. لا يتم تحديد سرعة هذا التطبيق إلا من خلال موارد الخادم وزمن الوصول بين العميل والخادم. لا يمكن لـ CloudFlare تسريع مثيل Discourse الخاص بك، ووجوده بين النظامين يزيد من زمن الوصول.

ما ورد أعلاه يستند إلى سنوات من الخبرة، وليس شعورًا. لا يزال Discourse يعاني من مشاكل دورية مع Cloudflare. بخلاف إخفاء عنوان IP الخاص بخادمك وتوفير القليل من نقل البيانات للتحميلات، لا يوجد شيء يمكن لـ Cloudflare القيام به لتسريع موقع Discourse.

5 إعجابات

قالب CloudFlare ليس إضافة جديدة، وإذا أخذت الوقت الكافي للنظر في المصدر، سترى أن الغرض الوحيد منه هو الحصول على نطاقات IP الخاصة بهم وتعديل nginx للتأكد من أنه ينظر إلى CF-Connecting-IP حيث أن عنوان العميل الحقيقي محجوب بواسطة البروكسي الذي توفره السحابة البرتقالية. إنه ليس شيئًا جديدًا، لقد كان موجودًا منذ سبع سنوات على الأقل. يمكنك استخدام Cloudflare لإخفاء مكان خادمك، أو العمل كشبكة توصيل محتوى (CDN) رخيصة للتحميلات، ولكن في كلتا الحالتين نوصي بتعطيل جميع ميزات الأداء واستخدام قاعدة صفحة لتمكين التخزين المؤقت لمجلد التحميلات الخاص بك.

حسنًا، كانت نقطتي هي أنه إذا كان Cloudflare غير مدعوم، فلن يكلفوا أنفسهم عناء إضافة أي نوع من الدعم له رسميًا في المقام الأول. ولن يكون لديهم أيضًا دروس رسمية حول كيفية استخدامه. صحيح أنهم قد يوصون بعدم استخدامه بسبب X و Y و Z في بعض الحالات، ولكن هذا ليس هو نفس الشيء الذي يكون غير مدعوم تمامًا. :جمجمة_وعظمتان_متقاطعتان:

ما الفائدة التي سيظهرها الاختبار عبر GTMetrix؟ أعتقد أن لديك فهمًا أساسيًا خاطئًا لكيفية عمل Discourse للاستشهاد بذلك. Discourse ليس موقعًا إلكترونيًا، إنه تطبيق Javascript. التنقل في الموقع لا يقدم صفحات HTML مسطحة للمتصفح. تطبيق Javascript الذي يتم تحميله في متصفحك يتحدث مباشرة إلى الخادم، وهذا هو السبب في أن عناصر معينة من الصفحة لا تبدو وكأنها تعاد تحميلها بين النقرات. سرعة هذا التطبيق يتم تحديدها فقط بواسطة موارد الخادم وزمن الوصول بين العميل والخادم. لا يمكن لـ CloudFlare تسريع مثيل Discourse الخاص بك، ووجوده بين النظامين يزيد من زمن الوصول.

نعم، أفهم أن Discourse ليس موقعًا إلكترونيًا. إنها منصة لتقديم المحتوى مثل أي منصة/برنامج/نظام إدارة محتوى آخر. بالطبع لا يمكن لـ Cloudflare التأثير على أي شيء على مستوى الخادم، وهذا صحيح بشكل خاص لإعدادات LAMP. ولكن في النهاية، يجب على كل منصة في النهاية تقديم جميع رموز جانب العميل (HTML/CSS/JS). بالطبع لا يمكن لـ GTmetrix فحص سرعة الخادم، ولكن لا يزال بإمكانك استخلاص بعض الأشياء حول المخرجات النهائية لإعدادك. بمعنى آخر، كيف يختبر المستخدم تحميل المحتوى.

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

ما ورد أعلاه يعتمد على سنوات من الخبرة، وليس شعورًا. لا يزال لدى Discourse مشاكل دورية مع Cloudflare. بخلاف حجب IP الخادم الخاص بك وتوفير القليل من نقل البيانات للتحميلات، لا يوجد شيء يمكن لـ Cloudflare القيام به لتسريع موقع Discourse.

تبًا. كنت أعرف أنني سأحصل على استياء لقول “شعور”، ولكنه مجرد تعبير اصطلاحي. أتحدث من الخبرة أيضًا. :لسان_مغلق_العينين:

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

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

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

3 إعجابات

هذه هي النقطة. “غير مدعوم” لا يعني “مستحيل”، بل “حظًا سعيدًا مع ذلك”. أحد الردود المتكررة على “هناك خطأ” هو “هل يختفي إذا قمت بإيقاف تشغيل cloudflare”؟

إذا كنت ترغب في تسريع الأمور، فاستخدم شبكة توصيل محتوى (CDN) حقيقية - - تمكين شبكة توصيل محتوى (CDN) لـ Discourse الخاص بك

6 إعجابات

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

من فضلك لا تذكر أعضاء الفريق، إذا كانوا يريدون المشاركة فسوف يفعلون ذلك.

3 إعجابات

???

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

كيف يمكنه معرفة أن هناك من يطلب أفكاره حتى يتمكن من المشاركة ما لم تتم الإشارة إليه؟

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

لكن هذا ليس صحيحًا. إذا كنت تستخدم شبكة توصيل محتوى (CDN) حقيقية، فإن مستخدمي Discourse يستخدمونها فقط للأشياء التي يجب تقديمها بواسطة شبكة توصيل المحتوى (CDN).

مرحبًا @JammyDodger، أعتقد أن الوقت قد حان لإنشاء قسم للأسئلة الشائعة حول Cloudflare (على الرغم من أنها ليست المرة الأولى التي أقترح فيها ذلك). يمكنك أن تطلب من Jeff و Sam إبداء رأيهم.

4 إعجابات

إليك الأمر. التخزين المؤقت/الدمج/التصغير يكسر جافاسكريبت بشكل سيء السمعة، بغض النظر عن البرنامج أو مجموعة شبكات توصيل المحتوى المستخدمة. لقد رأيت هذه المشكلة الشائعة مع عشرات الأدوات/الخدمات الأخرى. عند التعامل مع المبتدئين، فإن ذاكرة التخزين المؤقت للمتصفح الخاصة بهم وحدها تمثل ألمًا مستمرًا لتثقيفهم حولها. لقد أدرت مجتمعات برمجية كبيرة من قبل؛ أنا على دراية تامة بنفس المشكلة القديمة التي تظهر مرارًا وتكرارًا.

ما أتساءل عنه هو، هل هذه مشكلة Cloudflare تحديدًا أم أنها مشكلة شائعة تعاني منها جميع أدوات التحسين حيث يمكنها كسر جافاسكريبت ويحدث فقط بسبب شعبية Cloudflare، يتم الخلط بين هذه المشكلة العامة عن طريق الخطأ على أنها مشكلة Cloudflare. هل هذا التمييز منطقي؟

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

ولكن، إذا لم أتمكن من ذلك، إذا لم نتمكن من ذلك، فلا بأس. استمتعوا ببقية عطلة نهاية الأسبوع يا رفاق. سأترك الحصان المسكين :horse: وشأنه الآن.

إعجابَين (2)

لا، هذا ليس صحيحًا. نرى مشكلات مع Cloudflare بالاشتراك مع Discourse بشكل متكرر جدًا.

لا يوجد شيء اسمه “مدعوم”. ولكن إذا كنت لا تعرف ما تفعله، فيمكن أن يتسبب ذلك في حدوث مشكلات، وحتى إذا كنت تعرف ما تفعله، فقد تواجه مشكلات غير متوقعة.

فوائد الأداء لـ Cloudflare، إن وجدت، ستكون صغيرة. يتم تقديم معظم الأصول بواسطة Discourse بشكل جيد ومضغوط وغير قابل للتغيير (أي أنها مخزنة مؤقتًا بواسطة المتصفح لفترة طويلة جدًا). معظم المحتوى الآخر غير قابل للتخزين المؤقت لأنه بيانات تطبيق مخصصة.

ومع ذلك، يمكن أن يكون Cloudflare مفيدًا جدًا للحماية من هجمات DDoS.

5 إعجابات

سيكون ذلك موضع ترحيب حيث لدينا آراء متباينة من مستخدمين مختلفين :person_shrugging:

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

لدينا قسم للأسئلة الشائعة حول Cloudflare وكيفية (عدم) تكوينه لـ Discourse. ينطبق هذا أيضًا على المثيلات المستضافة ذاتيًا.

6 إعجابات

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

سيكون الأمر أشبه بإلقاء اللوم على Gmail أو GoDaddy للمشاكل المتأصلة في جميع خدمات البريد الإلكتروني أو الاستضافة.

وحتى لو لم تكن تتفق، فهل تفهم ما أعنيه؟

3 إعجابات

نظرًا لأنه يجب علينا تجنب بعض الإعدادات، وقال مستخدمو ميتا أشياء مثل

كل ما يمكن أن يفعله لك CloudFlare هو إخفاء عنوان IP الخاص بك والعمل كشبكة توصيل محتوى (CDN) لتحميلاتك. الفوائد ضئيلة

و

ستكون فوائد الأداء لـ Cloudflare، إن وجدت، صغيرة.

هل هناك إجابة نهائية ومباشرة للسؤال “بدون تمكين أي إعدادات سرعة، هل لدى Cloudflare أي فائدة مقارنة بـ Bunny CDN أو Stackpath (أو أي شبكة CDN “عادية” على ما أعتقد)؟”

ما زلت مترددًا بين Bunny الذي سيقلل بشكل كبير تكاليف CDN الحالية الخاصة بي (Stackpath)، و Cloudflare، والذي سيكون مجانيًا في حالتي (يمكن لمالك النطاق إضافة منتداي إلى حسابه المؤسسي).

أيضًا، أشياء لا أفهمها لأنني لست خبيرًا تقنيًا.

إعجابَين (2)

الأمر لا يقتصر على كسر JavaScript فقط. بل يتعلق أيضًا بالوكيل وجعل المنفذ 80 غير متاح، وكسر LetsEncrypt، وبعض هذه الخدمات تقوم بالتخزين المؤقت أكثر مما ينبغي.

نظرًا لأن Cloudflare هو الأكبر من بين “أدوات التحسين هذه”، وهو منتشر وشائع ومجاني، فهو الذي تركز عليه معظم المناقشات. ولكن نعم، أنت على حق. إنها مشكلة الأدوات مثل هذه “بشكل عام”.

إذًا، نعم، متفق عليه.

تميل الموضوعات مثل هذه إلى أن تكون خطيرة بطبيعتها لأن الناس (خاصة في “المجموعة المستهدفة للمشكلة”) لا يميلون إلى القراءة جيدًا. الأمر أشبه بالنشر في موضوع حول مخاطر تعاطي المخدرات أو الكحول والادعاء “لا يا رفاق، إنها ليست مجرد مشكلة مخدرات وكحول، أنا أستخدم المخدرات دون أي مشكلة، ولا تنسوا يا رفاق: الإفراط في استخدام أي مادة خطير”. (نعم، أعرف. كل استعارة لها حدودها، لكنها أفضل ما استطعت التفكير فيه).

ويمكننا أن نقول مدى خطورة الأشياء بصوت عالٍ كما نريد، لكن الناس سيستخدمونها على أي حال.
لهذا السبب أنشأنا قسم الأسئلة الشائعة (FAQ) :wink:

10 إعجابات

تبدو أدلة الأسئلة الشائعة الجديدة فكرة رائعة. لم يكن رابط Communiteq قويًا جدًا.

هنا في هذا المنتدى، يضع بعض الأشخاص قواعد عامة Cache Level: Bypass, Disable Performance، ومع ذلك، يسمحون لـ Cloudflare بتخزين الصور أو ملفات CSS مؤقتًا. لم أر ردًا رسميًا حول ما إذا كان ذلك مقبولًا أم لا…

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

مجرد رأي شخص واحد.

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

@RGJ — شكراً لك! قد لا يرى الكثيرون أو يفهمون وجهة نظري في التمييز أو ما يحدث فرقًا، لكنها تجلب لي قدرًا كبيرًا من الوضوح. أشعر بالإحباط الشديد بدون وضوح، لأنه بدون هذا الأساس الصلب الأولي، لا أعرف أي مسار أسلكه للتركيز بشكل أكبر واكتساب فهم أفضل لموضوع معين.

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

إذا كانت لديك أي تعليقات محددة، فسأحب أن أسمعها.

فيما يتعلق بالتخزين المؤقت، أود أن أقول إنه ليس “نعم” أو “لا” بل هو أقرب إلى “ربما”:

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