Discourse HTTPS Web Socket

أهلاً،

هل يمكن لأي شخص إرشادي أو تقديم أمثلة حول كيفية إعداد WebSocket مع HTTPS لـ Discourse؟

يعمل HTTP البسيط، لكنني أحتاجه عبر HTTPS.

على أي حال، كما قرأت من مشاركتك الأخرى، قد يكون هذا الأمر يستحق التجربة

ليس حقًا، فأنا أدير مواقع ويب أخرى بشكل جيد عبر 80/443 كما قلت، وأنا بالفعل أدير مواقع ويب باستخدام LiteSpeed، حتى خادم البريد غير محظور. لقد جربت حتى المنفذ 8443، ولكن لم يظهر شيء عليه. بطريقة Websocket، تمكنت على الأقل من تشغيله عبر HTTP، ولكنه كان معطلاً بسبب المحتوى المختلط عبر HTTPS.

لا يدعم Discourse أي تركيبة منفذ أخرى غير 80/443

قد لا يدعم Discourse، لكن Docker يدعم، ولكن لا يزال بإمكاني تمريره باستخدام المقابس إلى Nginx الخارجي.

هذا فوق 8080.

مشكلتي الوحيدة هي أنني لا أستطيع جعل HTTPS يعمل بأي شكل من الأشكال.

لهذا السبب قلت إن Discourse لا يدعم أي منافذ أخرى غير 80/443.

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

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

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

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

إليك إحدى طرق القيام بذلك Run other websites on the same machine as Discourse

لدي صندوق رمل discourse العام الخاص بي مستضاف على NUC الذي يستضيف خدمات أخرى متعددة خلف Nginx Proxy Manager ولكنه طريقتي في القيام بذلك. إنه غير مدعوم رسميًا ولكني أعرف طريقي حوله.

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

لقد جربت ذلك من قبل أيضًا، فهو لا يظهر بشكل صحيح. على أي حال، لا أرى فائدة للدعم في هذه الحالة على الإطلاق، لأنه كما قلت، يقوم الآلاف بذلك. ومع ذلك، لا توجد خطوات واضحة لجعله يعمل في أي مكان على Github أو Wiki. فقط خيار 80/443 المباشر، الذي يعمل كخدمة واحدة.

ستحتاج إلى وكيل عكسي، مثل كيفية إعداد Discourse على خادم به مواقع Apache موجودة.

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

لكنني لا أقوم بتشغيل Apache على أي حال، بل أفضل استخدام Nginx و LiteSpeed، ولكن بغض النظر عن ذلك، سيكون من الأسهل فقط استخدام أي منافذ أخرى، ثم يمكننا تمريرها بسهولة إلى خوادم الويب الأخرى.

لا، أنا لا أفهم شيئًا عن دوكر. ولكن عندما كان لدي نقاش في نفس الخادم الافتراضي الخاص (VPS) حيث كان لدي Nginx و Varnish قبل Discourse، استخدمت sock دون مشاكل. ولكن هل هذا شيء مختلف؟

في الوقت الحالي، لدي Discourse على خادم افتراضي خاص (VPS) مختلف عن خادم Nginx/Varnish، لذلك لا يمكنني استخدام المقبس. لهذا السبب يرسل Varnish الجميع إلى المنفذ 82 ومن هناك إلى الخادم الافتراضي الخاص (VPS) الخاص بـ Discourse. ولهذا السبب لدي:

 expose:
  - "82:80"

ولكن هل هذا أيضًا شيء مختلف تمامًا عن قدرة Discourse على استخدام المنافذ 80/443 فقط؟

إذًا يمكنك العثور على دليل nginx أو استخدام هذا كنموذج.

لن يحدث ذلك. ستحتاج إلى وكيل عكسي يقوم بـ https.

إعجابَين (2)

لقد وجدت طريقة لجعلها تعمل، لم يكن الأمر صعبًا بعد كل شيء، ويمكنك تشغيل Discourse على أي منفذ تريده.

صحيح. يمكنك جعل حاوية Docker الخاصة بـ Discourse تفتح المنفذ 82 (أو أي منفذ) إذا كان لديك Varnish في المقدمة بحيث يكون عنوان URL عنوان URL https عاديًا. طالما أن Varnish يدير شهادات https، يجب أن تكون قادرًا على المتابعة كما تتوقع.

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