لا يمكن تحرير المواضيع التي تحتوي على صور مع الواجهة الخلفية S3

مرحباً بالجميع،

لقد صادفنا مشكلة غريبة.

إعداداتنا:

  • Discourse: 2.8.0.beta2
  • S3: Minio
  • CDN: Myra

تم تكوين S3 على النحو التالي:

root@assets-prod-app01:~# sudo -u minio mc admin policy info minio readwrite-discourse
{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Effect": "Allow",
   "Action": [
    "s3:ListBucketMultipartUploads",
    "s3:GetBucketLocation",
    "s3:ListBucket"
   ],
   "Resource": [
    "arn:aws:s3:::discourse"
   ]
  },
  {
   "Effect": "Allow",
   "Action": [
    "s3:*"
   ],
   "Resource": [
    "arn:aws:s3:::discourse/*"
   ]
  }
 ]
}

لكننا نواجه دائماً عند التعديل رسالة الخطأ التالية

في ملفات السجلات نلاحظ ما يلي

Aws::S3::Errors::NotImplemented (رأسية قدمتها تشير إلى وظيفة غير مطبقة)
lib/file_store/s3_store.rb:279:in `update_ACL'
lib/file_store/s3_store.rb:209:in `update_upload_ACL'
...

هل هناك إعداد لم نأخذه في الاعتبار، أم أن Minio غير متوافق مع Discourse؟

أي تلميح سيكون موضع ترحيب، حيث نواجه بعض الضغط من مستخدمينا :frowning:

شكراً مقدماً

هل هذا الإعداد غير شائع لدرجة كهذه؟

أقدر أي توجيهات حول ما يجب النظر فيه بتفصيل أكثر أو ما الذي يجب تغييره؟ @Falco في الوقت الحالي، نحن عالقون تمامًا… :frowning:

هل قمت بتفعيل إعداد الموقع secure_uploads؟ لن يعمل ذلك مع MinIO على الإطلاق.

مرحبًا @Falco،

للأسف لا…

هل تم إعداد S3 كما هو موضح في الوثائق الموجودة في استخدام التخزين الكائني للرفع (S3 والنسخ)؟

نعم، حرفًا بحرف :slight_smile:

عذراً على الإزعاج، لكن هل يمكنك اكتشاف أي شيء؟

مرحبًا، هل لديك أي أفكار؟ آسف للإزعاج…

مرحبًا،

لقد قمت اليوم بالترقية إلى الإصدار 2.8.0.beta2، ونفس الخطأ يظهر:


فقط قم باختيار secure_media، وسيعمل minio مرة أخرى.

image

@pmusaraj / @martin يبدو أن هناك انتكاسة ناتجة عن

التي لم تأخذ في الاعتبار نفس الأشياء التي تم إصلاحها بواسطة

لذلك يقوم post_creator بما يلي:

و models/post:

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

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

مع أنني سأقوم بإجراء إصلاح في المهمة بحيث تتوقف مبكرًا إذا كانت الوسائط الآمنة معطّلة.

في الواقع، لا يمكنني القيام بالأمر أعلاه لأننا نريد أن تُعلَّم تحميلات المنشورات بأنها غير آمنة إذا كانت الوسائط الآمنة معطّلة، أو إذا نُقل المنشور إلى فئة أخرى. بدلًا من ذلك، سأضيف إصلاحًا لالتقاط خطأ Aws::S3::Errors::NotImplemented عند تنفيذ Discourse.store.update_upload_ACL(self). وبهذه الطريقة، لن يواجه العملاء الذين لا يدعمون قوائم التحكم بالوصول الخاصة (private ACLs) أي مشكلة.

تعديل: دمجت هذا الإصلاح اليوم، وأرجو أن يساعد FIX: Handle storage providers not implementing ACLs by martin-brennan · Pull Request #13675 · discourse/discourse · GitHub. أعتقد أننا سنطلق نسخة تجريبية جديدة الأسبوع المقبل أيضًا.

3 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام. لم تعد الردود الجديدة مسموحًا بها.