لقد قمت بتثبيت مثيل Discourse أمس، واليوم يظهر لي صفحة سوداء، وفي وحدة التحكم أرى:
تم رفض تحميل السكربت 'https://ajax.cloudflare.com/cdn-cgi/scripts/95c75768/cloudflare-static/rocket-loader.min.js' لأنه ينتهك توجيه سياسة أمان المحتوى التالي: "script-src 'unsafe-eval' 'report-sample' [url]/logs/ [url]/sidekiq/ [url]/mini-profiler-resources/ [url]/assets/ [url]/brotli_asset/ [url]/extra-locales/ [url]/highlight-js/ [url]/javascripts/ [url]/plugins/ [url]/theme-javascripts/ [url]/svg-sprite/". لاحظ أنه لم يتم تحديد 'script-src-elem' صراحةً، لذا تم استخدام 'script-src' كبديل.
تم استلام رمز استجابة HTTP سيء (404) عند جلب السكربت.
هل يمكنك التوضيح لماذا هذا “غير متوافق تمامًا”؟ أنا أستخدمه في تطبيقات Rails أخرى مخصصة ومحسّنة للغاية بنجاح (عادة بعد قليل من التنقيح). أنا فضولي لمعرفة سبب عدم إعادة هيكلة Discourse لجعلها متوافقة مع مجموعة خدمات CloudFlare الكاملة نظرًا لاستخدامها الواسع.
من بعض النقاشات التي رأيتها هنا، يبدو أن هناك مشكلات تتعلق بظهور الرسم الأول الهادف بسرعة كافية في الاختبارات المختلفة، حيث أظهرت نتائجها مثل هذه النتائج. كنت آمل أن يقلل Rocket Loader من ذلك أكثر بينما يتم العمل الفعلي في هذا المجال لحل المشكلة.
لا، هذا سيجعل الأمر أسوأ. ديسكورد هو تطبيق جافا سكريبت، لذا فإن التحميل الأول سيتطلب وقتًا أطول قليلاً نظرًا لأن التطبيق يتم تنزيله في وقت تشغيل جافا سكريبت في المتصفح.
من الناحية التقنية، يجب أن يعمل، ولكن إذا لم يعمل، فهذا لأن كلاودفلر كتبت كودًا سيئًا. يجب عليك مراسلتهم إذا كنت ترغب في متابعة الأمر أكثر. لا يمكننا التحكم في كود كلاودفلر لأننا… لسنا كلاودفلر.