مرحباً، لقد قمت بإعداد discourse عبر Docker، ولكن الخطأ المذكور في العنوان يظهر فقط.
ما هي طريقة التثبيت التي استخدمتها، وما الذي قمت بتكوينه بخلاف عملية التثبيت الأساسية نفسها؟
لقد قمت بإعداد الصور بشكل فردي وعبر docker-compose مرة واحدة! ومع ذلك، لا يزال الخطأ قائمًا!
بأي طريقة يجب أن أكون قادرًا على تكوين شيء آخر؟
أخشى أن هذه ليست معلومات كافية ليقدم الناس المشورة. هل اتبعت دليل التثبيت القياسي؟
إذا كان بإمكانك تضمين بعض التفاصيل حول إعدادك، وكيف قمت بتثبيت Discourse بالضبط، وأي شيء آخر قد تكون قد فعلته، فقد يتمكن الأشخاص من تقديم بعض الأفكار لك. ![]()
إذا كنت تستخدم docker-compose، فهذا ليس تثبيتًا قياسيًا. ربما استخدمت bitnami (وهو غير مدعوم هنا)؟ إذا كان بإمكانك الوصول إلى المسؤول/الإعدادات، فقد تتمكن من إضافة أي نطاق يحاول أي شيء الإشارة إليه إذا بحثت في الإعدادات عن “أمان المحتوى”.
لماذا يتم فرض هذا على المنفذ 80 و 443؟
هل يمكنني تغيير هذا؟
لا أعرف. من الواضح أنه ليس لديك تثبيت قياسي، ولم تشرح كيفية التثبيت.
لا أعرف ما الذي يجبر ماذا على المنفذ 80 و 443.
إذا كنت تريد مساعدة جيدة، فيجب عليك استخدام تثبيت قياسي. إذا كنت تريد أي مساعدة، فستحتاج إلى قول المزيد حول كيفية التثبيت.
حسنًا، أنا أستخدم التثبيت القياسي، الذي يجبر على استخدام المنفذ 80 و 443.
إذًا لم تستخدم docker-compose؟
نعم، يتطلب التثبيت القياسي المنافذ 80 و 443 ويقوم بتشغيل https و force_https. لا ينبغي أن تواجه المشكلة التي تصفها إذا قمت بالتثبيت القياسي.
هل قمت بتشغيل discourse-setup للتثبيت؟
المسألة هي أنني أريد تشغيل discourse على منافذ أخرى ودمجه في Apache2 الخاص بي عبر وكيل عكسي…
ربما إذا قلت كيف قمت بالتثبيت، يمكن لشخص آخر مساعدتك. ربما تريد إعداد Discourse على خادم به مواقع Apache موجودة.
لقد قلت بالفعل! عن التثبيت القياسي!!!
بالتأكيد يمكنك ذلك. يجب عليك تعريض على سبيل المثال - "83:80" في app.yml، أو أي منفذ يستخدمه وكيلك العكسي لإرسال حركة المرور إلى الواجهة الخلفية. أو يمكنك استخدام websocket.
تريد استخدام وكيل عكسي ليس تثبيتًا قياسيًا.
لقد فعلت ذلك، لكن الموقع غير متاح
إذًا، إعداداتك خاطئة. من شبه المستحيل تخمين ما هي المشكلة. لا تستخدم CSP، فهذه ستكون الخطوة الأولى. ولكن هل كل من Apache2 و Discourse على نفس الخادم؟ هل إعدادات Apache2 صحيحة؟ إلخ، إلخ.
مرة أخرى، كما ذكرت - أنت لا تستخدم تثبيتًا قياسيًا.
لا يمكنني استخدام التثبيت القياسي! عذرًا، ولكن ما مدى صعوبة فهم ذلك؟ لدي بالفعل Apache2 قيد التشغيل، ولا أرى فائدة من إيقافه لمجرد أن Discourse لا يعتقد أنه مرن بما يكفي لاستخدام منافذ أخرى.
ملف Apache2 الخاص بي:
<VirtualHost *:80>
ServerName <domain>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName <domain>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/<domain>/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<domain>/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/<domain>/fullchain.pem
ProxyPass / http://127.0.0.1:90/
ProxyPassReverse / http://127.0.0.1:90/
</VirtualHost>
app.yml:
expose:
- "90:80" # http
- "100:443" # https
ربما ليس من الصعب فهم أنك تحصل على الدعم من الفريق فقط للتثبيتات القياسية. لهذا السبب عليك أن تأمل أن يتمكن شخص ما منا، الأعضاء العاديين، من مساعدتك.
ولأنك لا تخبرنا بأي شيء، فهذه مهمة صعبة بعض الشيء. لا يمكننا تخمين ما إذا كان إعدادك صحيحًا أم أنك وجهت إلى المنفذ الصحيح في app.yml. لا نعرف أي شيء عن إعدادك.
بالطبع هو كذلك. استخدام وكيل عكسي أمام Discourse أمر بسيط جدًا - خارج docker على أي حال. ما عليك سوى كشف المنافذ الصحيحة أو استخدام websocket، إذا كان هذان هما على نفس الخادم.
هل فعلت ذلك؟ لا أعرف وبطاقاتي لم تخبرني ![]()
ومرة أخرى - إذا كانت CSP مشكلة، فلا تستخدمها حتى تكتشف ما الذي يقاوم.