مرحباً @mcwumbly. كان من السهل جداً العثور على هذا عندما تمكنت من البحث عن “S3 clone”. لم أتمكن من العثور عليه الآن. هل كان هناك خطأ ما في هذا العنوان؟ هل هناك بحث سيجده؟ هل يمكننا إضافة (لا أتذكر ما يسمى) شيء حتى يتمكن من الارتباط التلقائي ببعض الكلمات كما يفعل التثبيت القياسي (لكنني لا أستطيع التفكير في الكلمات التي يجب استخدامها).
بصفتي شخصًا يربط هذه المواضيع عدة مرات في الأسبوع، فأنا أتفق نوعًا ما ![]()
ربما يساعد إضافة “نسخ S3” إلى نص المنشور الأصلي في تحسين البحث؟
لقد وجدت “متوافق مع S3” أكثر شيوعًا في الاستخدام، ولهذا السبب قمت بتغييره أثناء مسح لتحديث عناوين المستندات بشكل عام، على سبيل المثال: AWS S3 Compatible Object Storage | MinIO
أعتقد أن الاقتراح لوضع مصطلحات بحث أخرى في نص المنشور الأصلي منطقي. (لقد أضفته للتو في هذا).
يبدو جيدًا. أعتقد أنه سيتعين علينا التغيير مع مرور الوقت. ![]()
نعم. إنه ليس بالأمر الصعب حقًا. يمكنك فعل ذلك، @pfaffman!
مرحباً، هل تمكن أي شخص من تشغيل Contabo Object Storage لعمليات التحميل المتوافقة مع S3. يبدو أنه عند التحميل، فإنه يضيف اسم المستودع في بداية عنوان URL.
على سبيل المثال، إذا كان لديك حاوية تسمى community، فإنها تنشئ عنوان URL مثل https://community.eu2.contabostorage.com
لقد وجدت هذا السلوك في Duplicati على سبيل المثال، ولكن لا يمكن استبعاد أنه يضيف اسم الحاوية في بداية اسم النطاق.
سأكون ممتناً إذا كان لدى شخص ما الحل لاستخدام Object Storage هذا لأنه يقدم أسعاراً جيدة جداً.
لقد أجريت العديد من الاختبارات لتكوين اسم النطاق كـ CNAME في اسم النطاق الخاص بي من cloudflare لتوفير SSL، ولكن بالنسبة لـ community.cdn.midominio.com، لم يعد شهادة SSL مغطاة لأنهم يستخدمون حرف بدل وإذا قمت بتعطيل وكيل clouflare، فإنه يشتكي لأن الشهادة غير صحيحة.
تحياتي،
هل جربت ضبط إعدادات S3 CDN على https://community.eu2.contabostorage.com؟ في رأيي، هذا سيعمل.
غير موجود، إنه نقطة نهاية contabo eu2.contabostorage.com
نعم، ولكن ما هو عنوان URL النهائي لملف مثال في حاوية؟
يعني أنه إذا قمت بتحميل ملف إلى الحاوية بنفسك (باستخدام أي أداة يمكنك استخدامها لتحميل ملف) فما هو عنوان URL الذي ستستخدمه للوصول إلى الملف؟
https://eu2.contabostorage.com/9198f3bf2d6e43dd86fab037ebad3aee:comunidad/castopod-1.png
الهيكل هو
المضيف: https://eu2.contabostorage.com/
المستخدم: 9198f3bf2d6e43dd86fab037ebad3aee
الحاوية: comunidad
الملف: castopod-1.png
هذا ليس عنوان URL صالحًا. ولكن ربما يكون كذلك إذا استبدلت النقطتين بشرطة مائلة؟
هذه ليست الطريقة التي وصفتها بها في منشورك الأول، لذا ربما يمكنه الآن تقديم اقتراح آخر.
لذا حاول تعيين
DISCOURSE_S3_CDN_URL: "https://eu2.contabostorage.com/9198f3bf2d6e43dd86fab037ebad3aee:comunidad"
وإعادة البناء.
أصبح R2 الخاص بـ Cloudflare متاحًا للجمهور أخيرًا (استغرق الأمر عامًا واحدًا على ما يبدو). (إليك الإعلان الأصلي: Announcing Cloudflare R2 Storage: Rapid and Reliable Object Storage, minus the egress fees)
لقد أنشأت دلوًا.
لقد أنشأت رمزًا يتضمن: “تعديل: السماح بالوصول للتعديل لجميع الكائنات وعمليات القائمة والكتابة والحذف لجميع الدلاء”
إليك ما جربته:
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: auto
DISCOURSE_S3_ACCESS_KEY_ID: redacted
DISCOURSE_S3_SECRET_ACCESS_KEY: redacted
DISCOURSE_S3_CDN_URL: https://pub-72eaa03782c542edbe00598fd1666be1.r2.dev
DISCOURSE_S3_BUCKET: lc-testing
DISCOURSE_S3_BACKUP_BUCKET: lc-testing/backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_ENDPOINT: https://cb46accbfcc3db1bdbba2bce07f8b509.r2.cloudflarestorage.com
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_CONFIGURE_TOMBSTONE_POLICY: false
FORCE_S3_UPLOADS: 1
لكن تحميل الأصول يفشل مع هذا:
Aws::S3::Errors::NotImplemented: Header 'x-amz-acl' with value 'public-read' not implemented
ثم تذكرت جعل الدلو عامًا كما هو موضح في Public buckets · Cloudflare R2 docs
لكنه لم يعمل بعد.
S3 API compatibility · Cloudflare R2 docs يوضح أن x-amz-acl غير مطبق.
بالنظر إلى كود Discourse، ليس من الواضح لي أنه من الممكن جعل R2 يعمل دون تغييرات أساسية.
بعد تعطيل التحميلات، تعمل النسخ الاحتياطية، لذا يبدو أن R2 طريقة رخيصة جدًا للاحتفاظ بنسخ احتياطية S3. ولكن نظرًا لأنني جعلت هذا الدلو عامًا، فقد كان النسخ الاحتياطي عامًا أيضًا (إذا كان بإمكانك تخمين اسم الملف)، لذلك إذا تم حل هذه المشكلة، فستحتاج إلى دلاء منفصلة للنسخ الاحتياطية والتحميلات.
لقد قمت بإزالة هذا السطر وتمكنت من رؤية أنه قام بتحميل ملف، وتمكنت من الوصول إليه باستخدام نطاق مخصص كـ s3_cdn_url. (وتعديل مماثل لمهمة s3 rake يسمح بتحميل الأصول.)
لذا أعتقد أننا سنضيفه على أنه غير متوافق في المنشور الأصلي حتى يقوموا بتطبيق قوائم التحكم في الوصول على مستوى الكائن. شكرًا لك على تجربته!
نعم. التغييرات المطلوبة في النواة للسماح بتخطي تعيين ACL تبدو صعبة للغاية. يمكنك القول إنها جيدة للنسخ الاحتياطي فقط. إذا لم تقم بالقفز عبر الحلقات لجعل الحاوية عامة، فيجب أن تكون على ما يرام.
لقد اختبرت R2 للتو، ولكن يبدو أنهم لا يحترمون معلومات “ترميز المحتوى” الخاصة بنا، على الرغم من أن وثائقهم تقول إنهم سيفعلون ذلك. ربما بعد عام سيكون قابلاً للاستخدام.
يلزم إضافة فقرة تحذيرية إلى قسمي MinIO أو الأقسام العامة. نحتاج إلى وضع إشعار هنا بأن “Discourse يستخدم وضع DNS للمسارات على أنظمة التخزين المتوافقة مع S3. إذا كان الواجهة الخلفية يدعم وضع المسار فقط وليس وضع DNS لمسارات الدلاء، فهو غير متوافق مع Discourse.” وهذا هو السبب في أن MinIO لم يكن في الأصل في القائمة وتمت إضافته لاحقًا.
أحتاج أيضًا إلى تحديث قسم خادم تخزين MinIO - أحتاج إلى أن ينص التنبيه رقم 2 على ما يلي:
- لديك دعم النطاق ممكّن في تكوين MinIO لمسارات الدلاء التي يحركها النطاق. هذا إلزامي لأن Discourse لا يدعم مسارات الدلاء التي لا تعتمد على النطاق مع آليات تخزين S3.
تعديل: يبدو أنه مع هذه المشاركة حصلت على حالة عضو (مستوى الثقة 2) لذا تمكنت من تعديل منشور الويكي الآن. لا يلزم اتخاذ أي إجراء من المشرفين، على الرغم من أنني طلبت منهم إجراء التعديلات.
رائع! شكراً لمساعدتك في الحفاظ على تحديث الأشياء. يبدو هذا من نوع التحذيرات التي يسعدني الحصول عليها.
![]()


