تعذر التحميل إلى S3 (Cloudflare R2)

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

لقد قمت بتكوين عناوين URL الخاصة بي في ملف app.yml لأن واجهة الويب كانت ترفض عناوين URL الخاصة بي كما هي منسقة في منشورات «كيف تفعل» (تنسيق غير صالح):

image

عنوان CDN_URL هو النطاق المخصص (كما تم تعيينه في Cloudflare)، وعنوان S3_ENDPOINT هو العنوان الموجود في لوحة الويب. لقد قمت بتكوين جميع خياراتي بشكل صحيح مع رموز مصادقة تم إنشاؤها بشكل صحيح:

يبدو أن Cloudflare ترى بعض الطلبات، لكن لا يتم تخزين أي شيء.

ما هي المشكلة؟

مرحبًا،

أليس السبب في ذلك هو الشرطات المائلة (/) النهائية في عنوان URL الخاص بـ S3 CDN ونقطة نهاية S3؟

هل هذه هي الأدلة التي اتبعتها؟ هل أنت متأكد من أن اسم سلة التحميل الخاص بك هو «discourse»؟

نعم، الأول هو ما اتبعته.

صحيح.

سأحاول إزالة الشرائح (slashes) وسأعود إليكم بالتفاصيل.

أزلت الشرائط المائلة في النهاية، لكن لم يفلح ذلك. نفس خطأ “غير مصرح”.

التوكن مُعدّ بشكل صحيح أيضاً

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

لقد قمت بإنشاء نوع خاطئ من الرموز المميزة — لديك رمز مميز عام لواجهة برمجة التطبيقات. تحتاج إلى إنشاء رمز مميز لحوض R2:

  1. انتقل إلى لوحة تحكم Cloudflare → تخزين الكائنات R2 (الشريط الجانبي الأيسر تحت storage & databases).
  2. على الجانب الأيمن من صفحة نظرة عامة على R2، انقر على إدارة (رموز واجهة برمجة التطبيقات).
  3. انقر على إنشاء رمز واجهة برمجة تطبيقات للحساب.
  4. املأ اسمًا مناسبًا للرمز المميز وقم بتعيين الأذونات على object read & write ثم حفظ.
  5. سيؤدي ذلك إلى إخراج معرف مفتاح الوصول و مفتاح الوصول السري. هذه هي القيم التي تحتاج إلى إدخالها في تكوين S3 الخاص بـ Discourse.

ونعم، تحتاج إلى إزالة الشرائح المائلة النهائية لأن Discourse سيرفضها على الأرجح.

شكرًا، اتضح أن هذه كانت المشكلة.. محيرة بلا داعٍ ولكن هذه مسؤولية كلاودفلير

نعم، لوحة تحكم كلاودفلير يمكن أن تكون كعش الدبابير من الإعدادات، ضحك. سعيد لأنك أصلحتها!