خطأ 502 بوابة سيئة لتثبيت Discourse

مرحباً بالجميع،

كان لدي Discourse يعمل بشكل جيد حتى اليوم الآخر. بعد التحديث، أواجه المشكلة الحالية: 502 Bad Gateway.

أنا أستخدم NGINX ولم أقم بتغيير أي شيء في Discourse نفسه أو خادم NGINX الرئيسي للوكيل (proxy) للخدمة.

أنا أستخدم أيضاً Cloudflare DNS وما إلى ذلك.

إليك ما قمت به:

  1. قمت بتحديث Discourse عبر لوحة تحكم المسؤول في الموقع، تلك الخاصة بالالتزامات (commits).
  2. قمت بتثبيت certbot على الخادم قبل أن أدرك أنه كان مثبتاً بالفعل على الخادم.
  3. قمت بتشغيل “sudo snap install core; sudo snap refresh core”.
  4. قمت بتحديث npm و nodejs إلى أحدث الإصدارات.
  5. قمت بإعادة بناء تطبيق Discourse بعد أن أدركت أنه توقف عن العمل بعد الخطوات من 1 إلى 4.

تحققت ثلاث مرات من وكيل NGINX العكسي (reverse proxy) للتأكد من أنني لم ألمس أي شيء، وهو ما لم أفعله.

أنا فقط مرتبك قليلاً بشأن ما قد أكون أفسدته هنا.

شكراً مقدماً،
~Blood

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

تحصل على خطأ 502 لمدة دقيقة أو دقيقتين بعد الترقية/إعادة التشغيل.

لا يُحدث npm و nodejs على الخادم أي فرق لـ Discourse، حيث يحصل على كل ذلك في الحاوية.

إذا لم يعد يعمل بعد، فسأقوم بالترقية عبر سطر الأوامر

cd /var/discourse
./launcher rebuild app

أوه.

يمكنك النظر في

docker logs -f app

و

/var/discourse/shared/logs/.....
إعجاب واحد (1)

لقد تحققت من السجلات عبر الأمر الأول باستخدام: docker logs -f app.
لم يكن هناك أي شيء لافت للنظر فيه.

أيضًا، يبدو أنه ليس لدي /var/discourse/shared/logs/، بل لدي:

/var/discourse/shared/standalone/log

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

أوه. نعم. آسف. هناك سجلات (logs) لـ Rails وهناك سجلات (logs) لـ Nginx إذا تعمقت في المسار الصحيح الذي قدمته. يمكنك التحقق من سجلات Rails لمعرفة ما إذا كانت الأشياء تصل من الوكيل العكسي (reverse proxy) إلى الحاوية (container) ويمكنك أيضًا التحقق من سجلات Rails لمعرفة ما إذا كان هناك خطأ في Rails.

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

اعتقدت أنه قد يكون مصافحة SSL ولكن لا يمكنني رؤية أي شيء من سجل أخطاء NGINX يذكر أي شيء مؤخرًا.

إذا كان لديك وكيل عكسي خارجي، فيجب أن يقوم هو بأمور SSL وليس Discourse. إذا كانت لديك قوالب SSL و letsencrypt في ملف yml الخاص بك، فقد تكون هذه هي المشكلة، إلا إذا قلت إنها كانت تعمل من قبل.

نعم، لقد تحققت للتو للتأكد من أنها معلّقة (commented out) وهي كذلك، لذا أنا مرتبك تمامًا بشأن سبب حدوث هذا بعد التحديث وما إلى ذلك.

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

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