إعادة البناء تدخل في حلقة مفرغة

مرحباً، أعتذر مقدماً لأنني جديد نسبياً على Discourse.

عندما أذهب إلى الدليل /var/discourse/ لتشغيل ./launcher rebuild app، أواجه الحلقة التالية الموضحة أدناه.

حتى الآن، الواجهة الرسومية جيدة ويمكنني إجراء التحديثات هناك.

لقد جربت بعض عمليات البحث على Google ووجدت هذا الموضوع الذي يحدد حلاً. سؤالي هو هل يمكنني أيضاً استخدام أوامر git stash و git pull لحل مشكلتي باستخدام سطر الأوامر؟

التأكد من تحديث المشغل

تحديث المشغل…

تحديث a1d8d0b..69d7558

خطأ: ستؤدي تغييراتك المحلية على الملفات التالية إلى الكتابة فوقها عند الدمج:

templates/web.ssl.template.yml

يرجى تثبيت تغييراتك أو تخزينها مؤقتاً قبل الدمج.

إلغاء

فشل التحديث

تم تحديث المشغل، إعادة التشغيل…

تم اكتشاف معمارية x86_64.

التأكد من تحديث المشغل

تحديث المشغل…

تحديث a1d8d0b..69d7558

خطأ: ستؤدي تغييراتك المحلية على الملفات التالية إلى الكتابة فوقها عند الدمج:

templates/web.ssl.template.yml

يرجى تثبيت تغييراتك أو تخزينها مؤقتاً قبل الدمج.

إلغاء

فشل التحديث

تم تحديث المشغل، إعادة التشغيل…

إعجابَين (2)

أعد تسمية template/web.ssl.template.yml إلى اسم آخر (templates/my-web.ssl.template.yml) واستخدمه في قسم templates: من containers/app.yml.

استعد محتواه الأصلي باستخدام

git restore templates/web.ssl.template.yml
4 إعجابات

وحل طويل الأجل (وربما) أفضل سيكون إما إضافة تلك التغييرات إلى app.yml الخاص بك أو وضع القالب الخاص بك في مكان ما خارج شجرة /var/discourse

3 إعجابات

شكرًا لك، لقد قمت بالفعل بتعديل هذا الملف لإضافة شهادة عميل إضافية لبعض التشفير الإضافي بين الخادم و Cloudflare.

إذا اتبعت الإجراء لاستعادة ملف template.yml، فسأقوم بإعادة البناء لمعرفة ما إذا كان ذلك سيحل مشكلة الحلقة لدي. هل يمكنني بعد ذلك إجراء نفس التغييرات مرة أخرى دون الكثير من المشاكل؟ أم سيحدث هذا في وقت ما في المستقبل وسيتعين عليّ القيام بنفس الإجراء؟

لقد قمت بحفظ القالب الأصلي الخاص بي كملف .bak حتى تتاح لي الفرصة للنظر في التغيير.

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

أشكرك، أعتقد أنك أجبت بالفعل على سؤالي التالي!

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

تقريباً. :slight_smile:

إليك تلميح آخر:

حسنًا، هذه ليست تلميحًا جيدًا كما كنت آمل. . .. ألقِ نظرة على التغييرات التي تم إجراؤها في Setup Multisite Configuration with Let's Encrypt and no Reverse Proxy

3 إعجابات

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

كانت عملية تفكيري الأصلية هي دراسة ملف app.yml، مما قادني إلى ملف web.ssl.template.yml في البداية.

أردت تضمين ملف شهادة cloudflare لمزيد من الأمان.

لقد نظرت إلى ملف web.ssl.template.yml وأجريت تغييرًا على هذا القسم:

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

ssl_certificate /shared/ssl/ssl.crt;
ssl_certificate_key /shared/ssl/ssl.key;
ssl_client_certificate /shared/ssl/cloudflare.crt;
ssl_verify_client on;

ssl_session_tickets off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:1m;

لقد قمت بإسقاط ملف cloudflare.crt في الدليل /var/discourse/shared/standalone/ssl، وبقدر ما أستطيع أن أقول، كل شيء سار كما أردت.

هل هناك مصدر يمكنني الرجوع إليه للقيام بنفس الشيء مع التغييرات في ملف app.yml؟

في الغالب لا يستخدم الأشخاص الشهادات المخصصة بعد الآن. لست متأكدًا من وجود سبب وجيه لفعل ما تطلبه، ولكن يمكنك الاطلاع على Allow SSL / HTTPS for your Discourse Docker setup

أعتقد أنك تريد فقط إيقاف تشغيل السحابة البرتقالية، والحصول على شهادة Let’s Encrypt وتشغيل السحابة البرتقالية. تريد أيضًا استخدام قالب Cloudflare.

انظر Using Discourse with Cloudflare: Best Practices

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

Hm. لا أرى أي مخاوف ضد استخدام الملفات الخاصة في دليل templates، طالما أن أسمائها لا تتعارض مع القوالب التي يوفرها discourse. أجد أنها طريقة ملائمة لمشاركة أجزاء التكوين بين خادم التجهيز والخادم الإنتاجي، على سبيل المثال.

3 إعجابات

شكراً لـ @thoka و @pfaffman على وقتكما وردودكما.

لقد قمت باستعادة git منذ ذلك الحين.

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

لقد قمت بتشغيل ./launcher rebuild app مرة أخرى وعمل المشغل بدون مشكلة.

على سبيل المثال، قمت ببساطة بإدخال قالب cloudflare في أسفل app.yml كما هو موجه، لكن المشغل ظهر بخطأ في بناء الجملة. قمت بإزالته وكل شيء على ما يرام. لم أواجه مشكلة في استخدام Cloudflare بدون قالب cloudflare، لذا سأستمر في ذلك.

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.