مرحباً، أحاول إعداد Discourse باستخدام Reverse Proxy Manager على Nginx على جهاز واحد. كل شيء يمكن الوصول إليه عبر DNS الخاص بي باستخدام المنافذ الافتراضية على الجهاز، ولكن عند الإعداد باستخدام وكيل عكسي لتوجيه حركة المرور عبر النطاق الفرعي الخاص بي مع فرض SSL، فإنه لا يعمل ببساطة. أحصل على 502. أقوم بتشغيل حاويات متعددة. مدير الوكيل معزول وكل شيء آخر Discourse في حاوية أخرى. لقد بحثت في كل دليل تقريبًا يمكنني العثور عليه ولا شيء يعمل. يجب أن تكون هناك طريقة للقيام بذلك بنجاح في عام 2025! لدي موقع واحد يعمل مع مدير الوكيل وكل ذلك يسير على ما يرام. هل أحتاج إلى تسليم شبكة fpm إلى حاويات Discourse لأنها الشبكة الافتراضية التي يستخدمها مدير الوكيل لجعل حاويات Discourse متاحة لمدير الوكيل؟ إذا كان الأمر كذلك، فأين يجب أن أذهب لوضع ذلك لأنني لا أستطيع العثور على أي معلومات. يقول الناس لوضعها في إعداداتهم ولكن لا يعرفون بالضبط أين.؟ لا أريد تغيير الإعدادات. لقد رأيت بعض الأدلة تقول بعدم كشف المنافذ والسماح لمدير الوكيل بالقيام بالباقي، وقد فعلت ذلك. لقد رأيت أدلة تقول محاولة استخدام قوالب web.socketed.yml في دليل Discourse/templates ولكن هذا لا يعمل أيضًا. لقد رأيت أشخاصًا يحققون ذلك بالتعرض وبدون التعرض للمنافذ على Discourse. لا يبدو أن هناك أي اتساق هنا. ما الذي يعمل، وما الذي يعمل بشكل جيد في الوقت الحاضر. تذكر، أنا أعمل فقط من صندوق واحد.
إعجاب واحد (1)
تخميني هو أن مدير الوكيل يعمل بشكل مثالي وأن خطأ 502 ناتج عن discourse لأنه لم يتم تكوينه بشكل صحيح.
هل قمت بالتعليق على قوالب Let’s Encrypt و SSL في ملف yml الخاص بك؟
إعجابَين (2)
أخبار جيدة - لا شيء يبدو “معطلاً” بعد. كان خطأ 502 هذا على الأرجح سباق بدء التشغيل الأول: حاول Nginx تشغيل /srv/status قبل أن يكون Unicorn جاهزًا. تظهر سجلاتك:
unicorn: run
- تم تشغيل Rails

- خطأ Nginx في 17:34:11 “رفض الاتصال” (من المحتمل أن يكون قبل انتهاء Unicorn)
دعنا نوضح الأمر بسرعة.
1) جرب الحالة مرة أخرى (المضيف → app2)
curl -sSI http://127.0.0.1:8002/srv/status
- إذا كان لا يزال يظهر 502، فقط أعد تشغيل Nginx في app2 واختبر من داخل الحاوية:
docker exec -it app2 bash -lc 'sv restart nginx & && sleep 2 && curl -sSI http://127.0.0.1/srv/status'
curl -sSI http://127.0.0.1:8002/srv/status
يجب أن ترى HTTP/1.1 200 OK.
لقد تمكنت من تشغيلها. بما أنني أقوم بالتشغيل في حاويتين دوكر، كان عليّ السماح بالوصول لكي تريا بعضهما البعض عبر شبكة. لا توجد منافذ مكشوفة عبر discourse حيث أنها تعمل على منافذ دوكر الداخلية. بالإضافة إلى ذلك، فهي أكثر أمانًا.
جوني بوي! الآيفون رائع!
إعجاب واحد (1)
إذًا هذا ما أخبرك به بعض الذكاء الاصطناعي. هل نجح الأمر؟
إعجاب واحد (1)
نعم لقد نجحت، ثم أعلنت عن النتيجة في الموضوع التالي؛