Digital Ocean Spaces (S3) "غير قادر على توقيع الطلب دون تعيين بيانات الاعتماد"

أحاول إعداد Digital Ocean Spaces لتخزين S3.

أحصل على هذا عندما أحاول تشغيل النسخ الاحتياطية…

نفس الشيء عند تحميل الصور…

لدي هذا الإعداد…

…لكنني لست متأكدًا من كيفية اختبار ما إذا كانت تعمل بالفعل. أنا لا أعرف هذه الأنظمة جيدًا. هذا فقط لمنتدى مجموعة أصدقاء صغيرة.

في البداية، كان لدي ما يلي مباشرًا، ولكن كان عليّ التعليق عليه مرة أخرى في app.yml لأنه لن يتم إعادة بنائه مع وجود تلك الأسطر مباشرة. لست متأكدًا مما إذا كان لا يزال ضروريًا أم لا في هذه المرحلة…

لقد قمت بتحميل ملف يدويًا من منطقة إدارة Digital Ocean Spaces، وقمت بتعيينه على عام، ويمكنني الوصول إليه عبر المتصفح.

لقد قمت أيضًا بإنشاء مجلد “*****-backups” يدويًا في DO Spaces.

إليك مثال على مدى معرفتي القليلة. أنا عالق هنا ولا أعرف حقًا السبب. لقد تراجعت عن شيء ما بطريقة ما ولست متأكدًا من كيفية العودة.

image
لسبب ما، يبدو أن ما كان موجودًا عادةً في /var/discourse موجود الآن في /var/www/discourse

أنا عالق في هذه المرحلة على أي حال. لقد بحثت في المنتدى ولم أجد شيئًا يمكن أن يحل المشكلة. لقد أمضيت يومًا في نفس الحلقة. هذا على نفس المنوال، ولكنه AWS S3 فعلي وليس DO Spaces (S3)…

سأكون ممتنًا لأي مساعدة. شكرًا لك.

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

أنت تفتقد الإعداد use_s3 الموصى به في الموضوع الذي أشرت إليه.
يجب عليك نسخ ولصق تلك الإعدادات من الموضوع الذي أشرت إليه بدلاً من محاولة كتابتها. أنت بحاجة إلى نقطتين رأسيتين وليس علامة يساوي.
إذا كنت ترى أشياء في /var/www/discourse فأنت داخل الحاوية. تحتاج إلى الخروج للعودة إلى نظام التشغيل.

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

شكرًا على الملاحظات.

هذا موجود. أعتقد أنه لا يظهر فقط مع الأمر الآخر. لقد قمت بالتعليق على شبكة توصيل المحتوى (CDN) لأنها ذكرت وجود مشكلات بها، لذلك كنت أحاول عزلها. خاصة وأنني لست متأكدًا بنسبة 100% من أن عنوان URL هو العنوان الصحيح لأن المثال كان نطاقًا مخصصًا بدلاً من النطاق الافتراضي لـ Spaces. ربما كانت محاولة عزلها فكرة سيئة. كنت أجرب الكثير من الأشياء.
إليك الإعداد الكامل…

لست متأكدًا بنسبة 100%، ولكني متأكد تمامًا من أنني قمت بالنسخ واللصق. أفعل ذلك عادةً.

لقد واجهت خطأ عند محاولة إعادة البناء، لذا عدت وعلقّت هذه مرة أخرى…

سأحاول تمكينها مرة أخرى وتشغيلها.

آه، “exit” (خروج).

هذا ما كنت أبحث عنه. شكرًا لك.

ما الذي أفتقده في جزء S3 هذا؟

لقد أزلت التعليق لجعله مباشرًا…

تعديل: لقد أدركت للتو أن هذا يحتوي على خطأ مطبعي في السطر الأخير. لست متأكدًا كيف أفسدت ذلك.

لقد حفظت وحاولت إعادة البناء وحصلت على هذا…

كان تحذير الأمان هذا جديدًا. ركضت على أمل أن يحل ذلك…

chmod o-rwx containers/app.yml

تحققت من إصدار دوكر…

docker --version

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

هذا لم يحل المشكلة. حتى مع تعليق القديم ونسخ هذا ولصقه…

image

ما زلت أحصل على خطأ عند إعادة البناء…

image

“لم يتم العثور على المفتاح المتوقع أثناء تحليل تعيين كتلة في السطر 109 العمود 3”

لست متأكدًا من المفتاح الذي يشير إليه.

إعدادات مفتاح الوصول والمفتاح السري موجودة في الإعدادات. لست متأكدًا من كيفية الاختبار للتأكد من أن تلك الإعدادات تعمل بالفعل، لكنها موجودة هناك.

يبدو أنني قريب، ولكن…

بعد إعادة البناء، علقت العملية في مرحلة التفكير…

image

تركتها على هذا النحو لبضع ساعات. لا تغيير.

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

عند إعادة البناء، يبدو أنها تتوقف هنا لبعض الوقت.

image

لست متأكدًا مما إذا كان هذا مهمًا لأنه يتجاوزها في النهاية دون أي إجراء.

مع تعليق شبكة توصيل المحتوى (CDN) والجزء السفلي، يمكنني جعل المنتدى يعمل، لكن لا تزال لدي المشكلة الأصلية…

لست متأكدًا مما فاتني.

بعد إعادة البناء، علقت العملية في مرحلة التفكير. في البداية اعتقدت أنها قد تكون تنقل كل شيء أو تعمل في الخلفية، لذا تركتها…

تركتها هكذا لبضع ساعات. لا تغيير.

تحققت من Spaces ولم يتم تحميل أي ملفات، لذا أفترض أنها كانت عالقة على شيء ما.

علقت شبكة توصيل المحتوى (CDN) وأعطتني خطأ “السطر 109” مرة أخرى.

علقت المنطقة السفلية أيضًا وأعدت البناء. يمكنني الدخول إلى المنتدى، لكن لا يزال بإمكاني تحميل أي مرفقات.

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

مع تعليق شبكة توصيل المحتوى (CDN) والمنطقة السفلية، يمكنني جعل المنتدى يعمل، لكن لا تزال لدي المشكلة الأصلية…

لست متأكدًا مما فاتني. استسلمت وتركت جميع إعدادات S3 معلقة مؤقتًا.

ملاحظة جانبية: هل هناك أمر لتحديث الحاوية (docker)؟ أعتقد أنني أفعل ذلك عادةً من خلال منطقة المسؤول، لكنها لا تطلب مني التحديث من 24.0.2. لست متأكدًا من مدى أهمية ذلك. أعتقد أن الإصدار الحالي هو 24.0.7.

لست متأكدًا مما إذا كانت إعدادات منطقة المسؤول تتجاوز إعدادات app.yml أم العكس، ولكن إليك تلك الإعدادات تحسباً لأي طارئ…

لست متأكدًا مما إذا كان من المفترض أن تتضمن عناوين URL الخاصة بـ S3 و CDN اسم الحاوية (bucket name) أم لا. ولست متأكدًا أيضًا مما إذا كان من المفترض أن تكون الروابط متطابقة.

آمل أن يلاحظ شخص ما شيئًا بسيطًا. إذا قرأت حتى هذه النقطة، شكرًا لك مرة أخرى!

هل تستخدم شبكة توصيل المحتوى (CDN) الخاصة بـ Social Ocean؟

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

لست متأكدًا مما هو “social ocean CDN”، ولكني أحاول فقط استخدام شبكة توصيل المحتوى (CDN) المدمجة في “Spaces”.

عذرًا، كان ذلك “Digital Ocean”.

الرسالة التي اقتبستها تقول إنه لا ينبغي عليك فعل ذلك لأنه لا يعمل.

إذا كنت تريد المزيد من المساعدة مني، فإن عنوان بريدي الإلكتروني موجود في ملفي الشخصي

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

حسنًا. هذا غريب جدًا.

شيء ما يعمل الآن. اعتقدت أنني علقت كل شيء (أوقفته) وقمت بتحميل صورة بالأمس للتأكد من أنها تعمل مرة أخرى. تحققت من المسار إليها هذا الصباح وهي تستخدم… شبكة توصيل المحتوى (CDN) على ما أعتقد؟

https://XXXXXXX-storage.sfo3.digitaloceanspaces.com/optimized/2X/9/9b9fdb3eb27831650752b848363ea2a1a66ce137_2_375x500.jpeg

تحققت في Spaces (المساحات) وهناك بعض الصور هناك…

image
يبدو أن الصور تعمل بشكل صحيح الآن. الشيء الوحيد الذي يمكنني التفكير فيه هو أنني ألغيت تحديد “S3 use IAM profile” (استخدام S3 لملف تعريف IAM) في الإعدادات. أخمن أن هذا هو المفتاح الذي كان يبحث عنه وتوقف عن البحث عنه. لست متأكدًا لماذا كان لدي هذا محددًا في المقام الأول. ربما لأنني حقًا لا أعرف ما الذي أفعله. :slight_smile:

image

ما زلت أواجه مشكلة في تشغيل النسخ الاحتياطية، ولكن ربما تكون هذه مشكلة مساحة Droplet. يبدو أنه لا يوجد مساحة كافية لتجهيزها محليًا قبل التحميل. سأبحث في ذلك بشكل منفصل الآن بعد أن يبدو أنه متصل بـ Space (المساحة) على الأقل.

image

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

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

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

df -h

أجل، ممتلئة حقًا. قمت بتشغيل…

docker system prune -a

قمت بتشغيل…

./launcher cleanup

شكرًا لك مرة أخرى يا جاي.

بالتأكيد، تم مسح أكثر من 20 جيجابايت.

قمت بتشغيل النسخ الاحتياطي يدويًا ونجح!!!

الآن أحاول ترحيل جميع الملفات من التخزين المحلي إلى S3…

rake uploads:migrate_to_s3

تمنوا لي الحظ! :slight_smile:

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

تحققت من بعض الأشياء هذا الصباح أثناء انتظار بدء اجتماع.

يبدو أن Rake لم يعمل، أو ربما لا يزال قيد التقدم. لا يمكنني الجزم بعد. انخفض استخدام المساحة، ولكن عندما تحققت من بعض الصور القديمة يدويًا، لا تزال تحتوي على عنوان URL المحلي القديم. سأحتاج إلى التعمق في ذلك أكثر.

لست متأكدًا من الفرق بين rake و reback. أفترض أن أحدهما يقوم بترحيل الملفات والآخر يقوم بتحديث المسارات في المشاركات. هناك المزيد لأتعلمه.

لا يزال يستخدم الكثير من المساحة في /import (1.4 جيجابايت) و /uploads (9.2 جيجابايت). الكثير بالنسبة لحزمتنا الصغيرة. أحاول تفريغ ذلك إلى تخزين أرخص وهذان هما أكبر كتلتين بلا منازع.

للعلم لأي شخص يقوم بإعداد نفس الشيء، هذا ما يستخدمه لعناوين URL لنقاط النهاية…

CDN
https://XXXXXX-storage.sfo3.cdn.digitaloceanspaces.com/original/2X/0/15740f130209eb1a6a4f147076eaa20e70a9772d.zip

ORIGIN
https://XXXXXX-storage.sfo3.digitaloceanspaces.com/original/2X/0/15740f130209eb1a6a4f147076eaa20e70a9772d.zip

الفرق الوحيد هو .cdn في عنوان URL. أحتاج إلى تحديث إعداداتي.

من Copilot…
_________
لإعادة خبز المشاركات بعد تغيير رابط شبكة توصيل المحتوى (CDN) في Discourse، تحتاج إلى تشغيل مهمة Rake لإعادة الخبز (rebake rake task) حتى يتم تحديث جميع محتويات HTML للمشاركات المطبوخة بعناوين URL الجديدة للأصول.

إليك العملية:


1. الدخول إلى الحاوية (Container)

Shell

cd /var/discourse

./launcher enter app

إظهار المزيد من الأسطر


2. تشغيل مهمة إعادة الخبز (rebake task)

Shell

rake posts:rebake

إظهار المزيد من الأسطر

سيؤدي هذا إلى:

  • إعادة عرض جميع المشاركات باستخدام الإعدادات الحالية (بما في ذلك s3_cdn_url الجديد الخاص بك).

  • تحديث محتوى HTML المطبوخ بحيث تشير الصور والمرفقات إلى شبكة CDN.


اختياري: تسريع العملية

إذا كان لديك موقع كبير، يمكنك تشغيله على دفعات:

Shell

rake posts:rebake[1000]

إظهار المزيد من الأسطر

هذا يعيد خبز 1000 مشاركة في المرة الواحدة.


3. التحقق

تحقق من عدد قليل من المشاركات التي تحتوي على صور أو مرفقات للتأكد من أنها تستخدم الآن عنوان URL الخاص بشبكة CDN.

_________
يبدو أنه قيد التشغيل. سأعود للتحقق لاحقًا.

image

أنا ذاهب لصنع الدونات.

هذا يشغل إعادة الخبز، ولكن ليس 1,000 في المرة الواحدة فقط. إنه يشغلها كلها ويتجاهل الجزء [1000]. ربما تركيبتي ليست صحيحة تمامًا هناك.

تذكير آخر لي بقدر ما هو للآخرين. كنت أبحث عن عنوان URL هذا في القائمة لأنني كنت أعكسه ( .cdn.sfo3. بدلاً من العكس - وهو ما أدى بالطبع إلى كسر شهادة SSL). لم أتمكن من العثور على الإعداد عند البحث. ثم وجدت نافذة كانت مفتوحة بالفعل. قمت بتحديثه وحاولت الحفظ وحصلت على هذا…

image
أنسى أنه بمجرد إضافة الإعدادات في ملف app.yml، فإنها تختفي من قائمة إعدادات المسؤول. أتذكر الآن.

بدا أن إعادة الخبز قد نجحت، لقد كان لدي فقط عنوان URL خاطئ. يتم التحديث الآن.

ما زلت أحتفظ بأقل من 50 ملفًا في مساحة التخزين الخاصة بي، لذا فإن أمر rake الخاص بالملفات لا يعمل. :thinking:

حسنًا. اعتقدت أن هذا كان اختراقًا صغيرًا هنا. لقد اكتشفت أخيرًا ما كانت عليه هذه المشكلة…

“لم يتم العثور على المفتاح المتوقع أثناء تحليل تعيين كتلة في السطر 106 العمود 3”

بالنظر عبر بعض المواضيع، رأيت هذا…

سحبت ملفي وماذا تعرف، كانت هناك مسافات.

أنا متأكد من أنني وضعتها هناك دون التفكير في الأمر. لقد أزلتها. أعتقد أن الأمر كان يتعلق أساسًا بالمسافة قبل “hooks:” التي كان يشير إليها.

أعاد البناء بنجاح. شكرًا @RGJ

ومع ذلك، لا يزال لا يعجبه شيء ما.

ما زلت لا أرى عدد العناصر يرتفع في “Spaces”، لذلك لا يبدو أنه يقوم بتحميل ملفات /uploads إلى ‘S3’ بعد. كان هذا شيئًا حيّرني، لذا أنا سعيد بحل تلك المشكلة. لكني عدت إلى شاشة التحميل.

أيضًا، مع تفعيل ذلك، أحصل فقط على شاشة التحميل.

علّقت عليه مرة أخرى…

أعاد البناء مرة أخرى. نفس الشيء.

علّقت إعدادات “Spaces S3”.

أعاد البناء مرة أخرى.

يعمل

  • تحميل المنتدى
  • تحميل الصور
    • الجديدة تستخدم “Spaces” - ليست شبكة توصيل المحتوى (CDN)
    • القديمة تستخدم التخزين المحلي

لا يعمل

  • لا يتم تحميل الملفات إلى “Spaces”
  • لا يتم استخدام رابط شبكة توصيل المحتوى (CDN) لتحميل الصور
  • إذا لم يتم التعليق على DISCOURSE_S3 و after_assets_precompile، فإن المنتدى يتوقف عند التحميل في المتصفح

نفدت الأفكار. أعود إلى نقطة الصفر.

سيتعين عليّ ترك هذا الأمر لبعض الوقت. على الأقل سيمنع “space” من أن يكون مشكلة بعد الآن لأن عمليات التحميل الجديدة والنسخ الاحتياطية تذهب إلى “Spaces” الآن.