كيفية إصلاح مشكلة خطأ 502 في بوابة خادم مستندات ONLYOFFICE خلف Nginx

يعرض المتصفح رسالة الخطأ "502 Bad Gateway" عند فتح رابط ONLYOFFICE Docs، أو يتعذر على موصل Nextcloud/ownCloud الوصول إلى خادم المستندات. في كلتا الحالتين، يتلقى Nginx عادةً طلبًا ولكنه لا يحصل على استجابة صحيحة من خادمه المصدر. قد يكون هذا الخادم المصدر هو خدمة المستندات الداخلية لـ ONLYOFFICE، أو حاوية Docker، أو خادم وكيل عكسي آخر. حدد أولًا خادم Nginx الذي أعاد الخطأ 502، ثم اختبر الوجهة التالية مباشرةً قبل تغيير الإعدادات.

يوصي دليل استكشاف أخطاء نظام لينكس الحالي من ONLYOFFICE بفحص خدمات ds-docserviceNginx ds-converterوسجلات خادم المستندات. كما يشير دليل الخادم الوكيل العكسي إلى عناوين المضيف والبروتوكول المُعاد توجيهها. يتحقق التسلسل أدناه من سلامة الخدمة أولاً، ثم توجيه Nginx وشبكة Docker.

1. اكتشف أي خادم Nginx يُرجع رمز الخطأ 502

تتضمن حزمة تثبيت ONLYOFFICE إعدادات Nginx الخاصة بها، وقد يتضمن النشر أيضًا خادم وكيل عكسي Nginx خارجي. يمكن لـ Docker إضافة طبقة قفز شبكية أخرى. قد لا يُحدد مظهر صفحة الخطأ 502 الطبقة المعنية، لذا قارن عنوان URL العام مع فحص الحالة المحلي وسجل أخطاء Nginx.

في نظام لينكس المثبت باستخدام الحزم، اختبر نقطة نهاية خادم المستندات المحلي:

curl -i http://127.0.0.1/healthcheck

إذا كان الخادم مُعدًا لخدمة ONLYOFFICE على منفذ محلي غير المنفذ الافتراضي، فاستخدم ذلك المنفذ. عادةً ما يُعيد التثبيت السليم استجابة HTTP ناجحة true. إذا فشل هذا الطلب المحلي، فأصلح خدمة خادم المستندات قبل تعديل أي خادم وكيل خارجي. إذا نجح محليًا ولكن اسم المضيف العام يُعيد رمز 502، فركز على خادم Nginx الخارجي، والبروتوكول، والرؤوس، ومسار جدار الحماية.

تحقق من العمليات التي تمتلك المنافذ المتوقعة:

sudo ss -ltnp | grep -E ':(80|443|8080|8000)\b'

تختلف المنافذ باختلاف بنية الشبكة. في عملية ربط Docker الشائعة، يتم ربط منفذ المضيف، مثل 8080، بمنفذ الحاوية 80؛ ويمكن لتثبيت الحزمة استخدام خادم Nginx الخاص بها على المضيف. لا تفترض أن هذا 127.0.0.1:80هو المصدر الصحيح لمجرد وجود كلا الخدمتين على جهاز واحد.

2. تحقق من خدمات وسجلات ONLYOFFICE

عند تثبيت حزمة لينكس، افحص خدمة المستندات والمحول:

sudo systemctl status ds-docservice ds-converter
sudo journalctl -u ds-docservice -u ds-converter --since "15 minutes ago" --no-pager

يُدرج دليل استكشاف الأخطاء وإصلاحها الخاص بـ ONLYOFFICE هذه الخدمات، ويُحدد نقص الذاكرة، وتعارض المنفذ 80، وسجلات الخدمة كعناصر يجب التحقق منها عند فشل بدء تشغيل خدمات Docs. إذا كانت إحدى الخدمات متوقفة، فافحص الخطأ الذي ظهرت فيه أولاً، ثم أعد تشغيل الخدمة المتأثرة فقط.

sudo systemctl restart ds-docservice

يوجد دليل سجلات لينكس الرئيسي في [المسار] /var/log/onlyoffice/documentserver/. تحقق من سجل أخطاء Nginx وسجلات خدمة التوثيق بحثًا عن رسائل مثل "تم رفض الاتصال" أو "انتهت مهلة الخادم" أو ملف مفقود. تشير هذه الرسائل إلى أسباب مختلفة: فرفض الاتصال يعني عادةً أن عملية الخادم أو المنفذ غير متاح، بينما قد تعني انتهاء المهلة أن الخدمة مثقلة أو متوقفة.

تحقق أيضًا من مساحة القرص والذاكرة المتاحة إذا كانت الخدمات تتوقف بشكل متكرر:

df -h
free -h

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

3. تحقق من أن Nginx يشير إلى المصدر الذي يمكن الوصول إليه

اقرأ المضيف الظاهري النشط وتأكد من العنوان والمنفذ بدقة proxy_pass. من الجهاز أو الحاوية التي يعمل عليها Nginx، اطلب المصدر مباشرةً. على سبيل المثال، إذا كانت الحاوية تنشر المنفذ 80 كمنفذ المضيف 8080:

curl -i http://127.0.0.1:8080/healthcheck

استبدل عنوان المثال بنقطة النهاية التي يمكن الوصول إليها فعليًا من الخادم الوكيل. إذا كان Nginx يعمل في حاوية Docker منفصلة، 127.0.0.1​​فإن المقصود هو حاوية Nginx نفسها، وليس مضيف Docker أو حاوية ONLYOFFICE. استخدم اسم خدمة يمكن الوصول إليه على شبكة Docker مشتركة، أو عنوان المضيف الصحيح والمنفذ المنشور.

تأكد من تطابق بروتوكول المصدر مع بروتوكول الخادم. استخدم هذا الخيار فقط http://إذا كان مستمع الخادم يستخدم بروتوكول HTTP العادي، وفقط https://إذا كان مُهيأً لاستخدام بروتوكول TLS. قد يؤدي إرسال HTTP إلى منفذ TLS، أو TLS إلى منفذ HTTP عادي، إلى ظهور خدمة سليمة على أنها غير متاحة لـ Nginx.

4. تحقق من الرؤوس المُعاد توجيهها وخادم وكيل WebSocket

ينصح دليل ONLYOFFICE للخوادم الوكيلة العكسية بالاحتفاظ X-Forwarded-Protoبالبروتوكول X-Forwarded-Hostواسم المضيف الأصليين لكي يتعرف التطبيق عليهما. كما تُمرر أمثلة Nginx الرسمية رؤوس الترقية. إذا كان هناك خادم وكيل خارجي أمام ONLYOFFICE، فقارن إعداداته بالسيناريو الرسمي الذي يتوافق مع بنية شبكتك.

يُعرض أدناه مثال مبسط لحاوية Docker مرتبطة بالمنفذ 8080 على المضيف. ضع التوجيه mapداخل سياق Nginx http، وقم بتعديل اسم المضيف وإعدادات TLS ومنفذ المصدر بما يتناسب مع إعداداتك.

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 443 ssl;
    server_name docs.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}

هذا نموذج مرجعي، وليس بديلاً جاهزاً للاستخدام في كل عملية تثبيت. على وجه الخصوص، لا تقم بلصقه فوق إعدادات Nginx الخاصة بـ ONLYOFFICE المُثبّتة مسبقاً دون معرفة أي جزء من الخادم يمتلك المنفذين 80 و443. إذا كان Nginx يشترك في نفس المضيف مع ONLYOFFICE المُثبّت مسبقاً، فتأكد أولاً من عدم وجود تعارض في المنافذ، ثم وجّه الوكيل الخارجي إلى المُستمع الداخلي المُهيأ لعملية النشر الخاصة بك.

بعد التعديل، اختبر الإعدادات قبل إعادة تحميل Nginx:

sudo nginx -t
sudo systemctl reload nginx

في حال فشل اختبار التكوين، يُرجى تصحيح الملف والسطر المُبلغ عنهما قبل إعادة التحميل. يُعدّ خطأ بناء الجملة وخطأ 502 من المصدر مشكلتين منفصلتين؛ فالنجاح nginx -tيؤكد صحة بناء الجملة، وليس استجابة المصدر.

5. إذا كان برنامج ONLYOFFICE يعمل في Docker، فافحص حالته وتعيين المنافذ الخاصة به.

تحقق مما إذا كانت الحاوية قيد التشغيل وما هو منفذ المضيف المنشور:

docker ps --filter name=onlyoffice
docker port <container_name_or_id>
docker logs --tail 100 <container_name_or_id>

يُحدد دليل تثبيت Docker الرسمي منافذ المضيف بمنفذ الحاوية 80، ويتحقق المثال من سجلات الحاوية في حال عدم تحميل صفحة الترحيب. استخدم المنفذ المُشار إليه كمنفذ المصدر من docker portجانب المضيف. عند تشغيل كل من Nginx وONLYOFFICE كحاويات، ضعهما على شبكة مشتركة ووجّه حركة البيانات إلى اسم خدمة ONLYOFFICE ومنفذ الحاوية، بدلاً من توجيهها إلى عنوان الاسترجاع الخاص بالمضيف.

تحقق من حالة سلامة الحاوية إذا كان ملف Compose الخاص بك يُعرّف فحصًا للسلامة. يتحقق مثال Compose الحالي http://localhost:8000/info/info.jsonمن داخل الحاوية. قد تحتوي الحاوية "قيد التشغيل" على خدمة مستندات غير سليمة. إذا كانت الخدمة قيد إعادة التشغيل أو غير سليمة، فاستخدم السجلات للتحقق من بدء تشغيل قاعدة البيانات والذاكرة والتكوين قبل تغيير الوكيل الخارجي.

يوثّق برنامج ONLYOFFICE مسارات Docker الدائمة للسجلات والشهادات وذاكرة التخزين المؤقت للملفات. تجنّب حذف وحدات التخزين أثناء استكشاف الأخطاء وإصلاحها؛ فقد تحتوي على شهادات أو بيانات أخرى ضرورية لاستعادة الخدمة.

6. أعد التحميل، واختبر نقطة نهاية الصحة، وأعد اختبار التكامل

بعد تصحيح المشكلة المؤكدة، اختبر اسم المضيف العام وقارنه بنقطة النهاية المحلية:

curl -i https://docs.example.com/healthcheck

استخدم عنوان URL الحقيقي لخادم المستندات. يُشير نجاح الاستجابة من كلٍّ من الخادم المحلي واسم المضيف العام إلى قدرة Nginx على الوصول إلى الخادم الخلفي وإرجاع استجابة الحالة. ثم افتح صفحة الترحيب الخاصة بخادم المستندات، وأعد محاولة الإجراء الذي فشل في الأصل في Nextcloud أو ownCloud أو أي موصل آخر لديك.

إذا نجح فحص السلامة ولكن لا يزال الموصل يُبلغ عن خطأ، فقد تكمن المشكلة المتبقية خارج مسار Nginx 502، على سبيل المثال، عنوان URL الخاص بالموصل، أو موثوقية TLS، أو إعدادات JWT. قارن هذه القيم مع إعدادات الموصل وONLYOFFICE بدلاً من الاستمرار في تغيير مهلات الوكيل بشكل عشوائي.

تشخيص سريع

نتيجةالفحص التالي الأكثر فائدة
فشل الفحص الصحي المحليتحقق من ds-docserviceالمنافذ ds-converterوالموارد وسجلات خادم المستندات.
يعمل فحص الصحة المحلي؛ عنوان URL العام يُرجع رمز 502تحقق من Nginx الخارجي proxy_pass، والمنفذ الذي يمكن الوصول إليه، والبروتوكول، ومسار جدار الحماية.
يعمل نظام Docker على جانب المضيف بشكل سليم؛ بينما يفشل حاوية الوكيل.تحقق من عضوية شبكة Docker واستخدم اسم الحاوية/الخدمة بدلاً من اسم المضيف المحلي لحاوية الوكيل.
يتم إجراء فحص الحالة الصحية عبر عنوان URL العام؛ أما فشل التكامل فهو الوحيد.تحقق من عنوان URL الخاص بالموصل، ومستوى ثقة الشهادة، وإعدادات JWT.

المراجع الرسمية

اترك تعليقاً

أضف العطلات الوطنية إلى تقويم Outlook الخاص بك

أضف العطلات الوطنية إلى تقويم Outlook الخاص بك

أضف العطلات الرسمية الخاصة بكل دولة في Outlook الجديد، أو Outlook على الويب، أو Outlook الكلاسيكي. تعرّف على كيفية تجنب الأحداث المكررة والتحقق من وجود تواريخ مفقودة لعامي 2026-2027.

كيفية إزالة البيانات الوصفية والمحتوى المخفي من مستند Word

كيفية إزالة البيانات الوصفية والمحتوى المخفي من مستند Word

استخدم أداة فحص المستندات في برنامج Word لمراجعة تفاصيل المؤلف والتعليقات والتغييرات المتعقبة والنصوص المخفية وغيرها من البيانات قبل المشاركة، وتعرف على ما قد يفوته الفحص.

ملف تعريف Outlook 2010: دليل أساسي لإنشاء وإدارة ملفات التعريف

ملف تعريف Outlook 2010: دليل أساسي لإنشاء وإدارة ملفات التعريف

تعرف على كيفية إنشاء ملف تعريف Outlook 2010، واختيار الملف الذي يفتح عند بدء التشغيل، وحماية الوصول إلى ملفات PST والبيانات غير المتصلة بالإنترنت.

أكسس 2010: تصدير جدول قاعدة بيانات إلى إكسل 2010

أكسس 2010: تصدير جدول قاعدة بيانات إلى إكسل 2010

قم بتصدير جدول Access 2010 إلى Excel 2010، واختر ما إذا كنت تريد تضمين التنسيق، واحفظ خطوات التصدير القابلة لإعادة الاستخدام، وتحقق من مشكلات نقل البيانات الشائعة.

كيفية تغيير الخط الافتراضي والنمط العادي في برنامج وورد 2010

كيفية تغيير الخط الافتراضي والنمط العادي في برنامج وورد 2010

قم بتعيين خط وحجم وتأثيرات نص افتراضية في Word 2010، واحفظ الاختيار في Normal.dotm، وقم بتعديل نمط Normal للمستندات المستقبلية.

برنامج Word 2010: وضع الأحرف داخل دوائر وأشكال أخرى

برنامج Word 2010: وضع الأحرف داخل دوائر وأشكال أخرى

أضف أمر "إحاطة الأحرف" الخاص ببرنامج Word 2010 إلى شريط أدوات الوصول السريع، ثم قم بتغليف حرف أو نص قصير في شكل متاح.

كيفية فتح قاعدة بيانات Access 2010 على نموذج

كيفية فتح قاعدة بيانات Access 2010 على نموذج

قم بتعيين تطبيق قاعدة بيانات Access 2010 ليفتح مباشرة على نموذج إدخال البيانات، وإخفاء قوائم الكائنات، والحد من القوائم، والتحقق من الإعداد قبل المشاركة.

الرسم البياني المقارن في إكسل 2010: إنشاء مخطط شريطي معكوس

الرسم البياني المقارن في إكسل 2010: إنشاء مخطط شريطي معكوس

أنشئ رسمًا بيانيًا مقارنًا في برنامج Excel 2010 على شكل مخطط شريطي معكوس. حافظ على عدد المصادر، وقم بمحاذاة المجموعتين حول الصفر، وقم بتسمية المحور بوضوح.

إعدادات شريط الأدوات للوصول السريع وشريط أدوات التصدير والاستيراد في Office 2010

إعدادات شريط الأدوات للوصول السريع وشريط أدوات التصدير والاستيراد في Office 2010

انقل علامات التبويب المخصصة في الشريط وأوامر شريط أدوات الوصول السريع في Office 2010 باستخدام ملف .exportedUI، واحفظ الإعدادات الموجودة بالفعل على جهاز الكمبيوتر الوجهة.

كيفية إنشاء حقل ارتباط تشعبي في برنامج Access 2010

كيفية إنشاء حقل ارتباط تشعبي في برنامج Access 2010

قم بإنشاء حقل ارتباط تشعبي في Access 2010 في عرض التصميم، ثم أضف واختبر روابط مواقع الويب أو البريد الإلكتروني أو الملفات المشتركة مع تفاصيل الوجهة الصحيحة.