إذًا، هل تريد تقديم Discourse من مجلد فرعي (بادئة مسار) بدلاً من نطاق فرعي؟
رائع. يبدو هذا ما أبحث عنه. شكراً.
كيف يمكنني الدخول إلى هذا؟؟ أعني كيف أجد هذا الجزء؟؟ هناك مجموعتان من نفس الأسطر! أي منها يُقصد تعديله أو تغييره؟
تعديل من هنا:
لا يهم يا صديقي..! شكراً لوقتك! لقد اكتشفت الأمر بنفسي ![]()
بالمناسبة. طريقتك لا تعمل تمامًا
تحتاج أيضًا إلى إعداد متغيرات البيئة على الأقل في discourse 3..
افتح ملف app.yml الخاص بك
وابحث عن متغيرات البيئة واملأها.
شكرا لك على هذا،
لقد قمت بإعداد أول تطبيق مستقل لـ discourse، والذي يعرض لي صفحة التسجيل الصحيحة عبر http. ثم قمت بتثبيت nginx ولكن بدون شهادة، لأنني أستخدمه في معمل اختبار بدون وصول Lets Encrypt. أرى الآن صفحة التسجيل، ولكن بدون تنسيق. في سجلات nginx على المضيف أرى أخطاء 404. أي فكرة لحل هذا؟
شكرا
تم الحل: يجب أن أعلق السطر try_files $uri $uri/ =404; ، وهو افتراضي في debian 11 و nginx 18.0-6.
أخطاء. بعد ضبط هذا، يظهر متصفح Chrome أخطاء:
محتوى مختلط: تم تحميل الصفحة على '\u003cURL\u003e' عبر HTTPS، ولكنها طلبت خطًا غير آمن '\u003cURL\u003e'. تم حظر هذا الطلب؛ يجب تقديم المحتوى عبر HTTPS.
هل قمت بتشغيل force_https؟
نعم، لقد قمت بذلك في خطوة certbot --nginx. وقد حاولت مرات عديدة، ولم تنجح.
تحتاج إلى تعيين إعداد الخطاب force_https، وليس على nginx. من الأفضل القيام بذلك باستخدام متغير بيئة، ولكن يمكنك القيام بذلك في ux إذا كان بإمكانك الوصول إلى المسؤول/الإعدادات.
لقد اتبعت الخطوات المذكورة أعلاه وقمت بتشغيل nginx بنجاح، ولكن عند الوصول إلى عنوان URL، تلقيت خطأ ERR_TOO_MANY_REDIRECTS.
هل يمكن لأحد أن يساعدني في فهم السبب؟
فشل الربط بـ unix:/shared/nginx.http.sock (95: العملية غير مدعومة)
إذًا أنا مرتبك، لا يمكنني تشغيل /discourse-setup لأنني أقوم بتثبيته على خادم ويب موجود، ومع ذلك يُفترض مني تعديل ملف .yml الذي لا يتم إنشاؤه إلا إذا قمت بتشغيل /discourse-setup. لذا فإن app.yml غير موجود، وبالتالي كيف يمكنني تعديله؟
انسخ standalone.yml من دليل العينات.
أشعر بأنني أحمق بعد أن مررت بهذا المنشور عشرين مرة وفوتت أن السطر الأخير في هذا القسم قال “تمت الإضافة”. هل لي أن أقترح على @riking تعديل المقدمة لتكون كالتالي:
لقد أجريت التغيير المقترح (وحذفت المشاركات حول ما إذا كانت صفحة موسوعة يمكنك تعديلها بناءً على مستوى ثقتك - آسف لذلك). إنه تغيير طفيف، لكنني أعتقد أنه قد يساعد الآخرين. شكرًا لك.
لدي إعداد مختلف قليلاً: خادم الوكيل العكسي الخاص بي لا يعمل على الجهاز المضيف، ولكنه في حاوية دوكر منفصلة.
أنا حاليًا أستخدم شبكة دوكر لربط هذين، لذلك لا أقوم بتعريض ديسكورس عبر مقبس يونكس.
يعمل بشكل جيد، ولكنه يحتوي على عيب كبير: يرى تحديد المعدل عنوان IP الخاص بخادم الوكيل العكسي فقط، وبالتالي يحدد معدل خادم الوكيل العكسي بشكل خاطئ…
أرى عدة خيارات:
- إزالة قالب تحديد المعدل. (ليس خيارًا رائعًا…)
- إنشاء قالب خاص بي يقوم بتكوين nginx لـ
set_real_ip_fromخادم الوكيل العكسي. - تعديل قالب تحديد المعدل لاستخدام
$http_x_forwarded_forبدلاً من$binary_remote_addr. - تعريض مقبس يونكس في حاوية خادم الوكيل العكسي. (لا أعرف ما إذا كان ذلك ممكنًا وكيف.)
من الناحية المثالية، لن أقوم بإنشاء قالب خاص بي أو تغيير القوالب الحالية ولكن سأستخدم الإعداد الافتراضي بأقرب ما يمكن، أي الخيار 4.
أي أفكار؟ إيجابيات/سلبيات؟ آراء؟
أتفهم أنك واجهت هذه المشكلة منذ فترة طويلة، لكنني واجهتها الليلة ووجدت حلاً نجح معي.
كانت مشكلتي مع مسجل النطاق الخاص بي الذي يعمل كوكيل بإعدادات SSL/TLS مضبوطة على “مرن”. التبديل إلى “كامل” حل المشكلة على الفور - أتمنى فقط أن يكون قد خطر ببالي قبل إعادة البناء حوالي 20 مرة.
ما المقصود بتثبيت الحاويات المزدوجة؟ شكراً لك.
الحاوية هي مفهوم دوكر (docker) وهي وحدة معالجة معزولة فعليًا يمكن أن يكون لها تكوين مستقل عن نظام التشغيل.
عادةً ما تعمل ديسكورس (Discourse) وجميع تبعياتها (في التثبيت القياسي) في حاوية واحدة.
هناك تثبيتات أكثر تقدمًا حيث يمكن تشغيل خدمات أخرى في حاوية أخرى وحتى تثبيت يتم فيه تقسيم ديسكورس (Discourse) عبر حاويتين (واحدة لقاعدة البيانات وواحدة للويب) - وهو “تثبيت حاويتين”.
ملاحظة: تستخدم ديسكورس (Discourse) مشغلها الخاص والمصمم خصيصًا والذي لا يشبه تمامًا ذلك المستخدم بواسطة دوكر (docker) القياسي.
لدي سؤال، إذا كان وكيل عكسي في حاوية Docker منفصلة، فهل لا يزال بإمكانه استخدام مقابس Unix؟


