الرئيسية
» كيف
»
إصلاح أخطاء إثبات WOPI عن طريق فحص المفاتيح والاكتشاف وعناوين URL
إصلاح أخطاء إثبات WOPI عن طريق فحص المفاتيح والاكتشاف وعناوين URL
عندما يُبلغ مُضيف WOPI عن "فشل التحقق من صحة الإثبات" أو "إثبات WOPI غير صالح"، تأكد أولاً من النظام الذي سجل الرفض. إذا كان مُضيف التخزين يرفض طلب Collabora المُوقّع، فتحقق من زوج مفتاح الإثبات واستجابة الاكتشاف قبل تغيير قوائم السماح لمُضيف WOPI أو تعطيل عمليات التحقق من الإثبات. بالنسبة لتثبيتات الحزم، يُنشئ Collabora عادةً زوج المفاتيح؛ أما بالنسبة لـ Docker وKubernetes وعمليات النشر متعددة النسخ، فيجب توفير الزوج وحفظه باستمرار.
حدد الفحص الفاشل قبل تغيير المفاتيح
تعتمد عملية التحقق من صحة إثبات WOPI على طلب مُوقّع والمفتاح العام الذي يُعلنه عميل WOPI في بيانات التعريف الخاصة به. وهي عملية منفصلة عن قائمة مضيفي WOPI الموثوق بهم في Collabora، والتحقق من صحة شهادة TLS، وفحص رمز الوصول الخاص بمضيف التخزين. قد يُفيد إعادة إنشاء المفتاح في حال فقدان المفتاح الخاص أو عدم تطابقه مع المفتاح العام المُعلن عنه، ولكن قد يُؤدي ذلك إلى عدم تطابق جديد إذا تغيّرت نسخة واحدة فقط أو إذا كان لدى المضيف بيانات اكتشاف مُخزّنة مؤقتًا.
تشير رسالة التحقق من عدم الصلاحية من جانب المضيف أولاً إلى اكتشاف المفتاح أو بناء التوقيع أو وقت الطلب.
الأدلة في السجل
المنطقة المحتملة للتفتيش
يقول مضيف التخزين "إثبات WOPI غير صالح" أثناء تلقي CheckFileInfo أو طلب WOPI آخر
مفتاح إثبات Collabora، أو بيانات اكتشاف المضيف، أو إعادة بناء عنوان URL، أو الطابع الزمني
تقول منصة Collabora: "مضيف WOPI غير مصرح به" أو "لا توجد مضيفات WOPI مقبولة".
قائمة السماح لمضيف WOPI / تكوين النطاق، وليس مفتاح الإثبات
رمز مميز غير صالح أو منتهي الصلاحية أو تم رفض الوصول بدون إثبات خطأ
رمز الوصول الصادر من المضيف، أو الأذونات، أو تاريخ انتهاء صلاحية الرمز المميز
تحقق من طلب واحد فاشل في كل من سجلات Collabora و storage-host؛ لا يشير مؤشر التحميل في المتصفح وحده إلى فشل مفتاح الإثبات.
اختر الإصلاح المناسب لعملية النشر
ابدأ بالخيار الأقل إزعاجًا. في حالة التثبيت باستخدام الحزم، تحقق أولًا من ملفات المفاتيح وسجلات الخدمة الموجودة؛ تشير وثائق Collabora الحالية إلى أن تثبيت حزم RPM وDebian يُنشئ زوجًا من مفاتيح إثبات WOPI تلقائيًا. إذا كانت هذه الملفات موجودة ومستقرة، فعادةً لا يكون تدويرها ضروريًا.
تستخدم Collabora مفتاح إثبات خاص وتنشر مفتاحها العام المطابق من خلال اكتشاف WOPI.
النشر
الإجراء الموصى به
مقايضة
خادم واحد مُدار بواسطة حزمة
احتفظ بزوج المفاتيح المُنشأ؛ أصلح الأذونات أو أعد إنشائها فقط في حالة فقدانها أو عدم تطابقها.
تغيير طفيف، ولكن تحقق من إصدار الحزمة والمسارات المُكوّنة.
حاوية Docker واحدة
قم بإنشاء زوج مرة واحدة وقم بتثبيته بشكل دائم في الحاوية
يتطلب ذلك وحدة تخزين دائمة وصلاحية قراءة صحيحة لـ coolwsd
Kubernetes أو نسخ متعددة
قم بتثبيت زوج واحد مشترك من المفاتيح/الأسرار في كل نسخة من Collabora
يجب أن تكون التوقيعات متسقة عبر النسخ المتماثلة؛ ويجب أن يؤدي التدوير أيضًا إلى تحديث عرض اكتشاف المضيف.
تم تغيير عنوان URL للمضيف خلف خادم وكيل
تحقق من المخطط العام والمضيف والمسار وسلسلة الاستعلام المستخدمة للتحقق من صحة التوقيع
أكثر تعقيدًا من مجرد تدوير المفاتيح، ولكنه يتجنب تغييرات بيانات الاعتماد غير الضرورية
يذكر دليل Collabora 24.04 أن صورة Docker العامة لا تتضمن زوجًا من مفاتيح الإثبات؛ لذا قم بإنشاء واحد وتثبيته بشكل دائم. يدعم مخطط Helm الرسمي مفاتيح الإثبات السرية. تجنب إنشاء زوج منفصل لكل نسخة، وإلا فقد يؤدي ذلك إلى حدوث أعطال متقطعة في موازنة الأحمال.
افحص وأصلح زوج المفاتيح بأمان
ابحث عن مسارات المفاتيح المُهيأة. على مضيف Collabora أو داخل الحاوية، افحص إعدادات coolwsd.xmlمسار مفتاح الإثبات وتأكد من توفر كل من المفتاح الخاص والمفتاح العام. توجد المواقع الشائعة ضمن /etc/coolwsd/، ولكن قد تختلف تخطيطات الحزم والحاويات. لا تقم أبدًا بلصق المفتاح الخاص في السجلات أو التذاكر أو المحادثات.
تأكد من تطابق المفاتيح. بالنسبة للمسارات الافتراضية الشائعة، قارن بصمات المفاتيح دون عرض المفتاح الخاص: sudo openssl pkey -in /etc/coolwsd/proof_key -pubout -outform DER | sha256sumو openssl pkey -pubin -in /etc/coolwsd/proof_key.pub -outform DER | sha256sum. يجب أن تتطابق قيم التجزئة الناتجة. إذا اختلفت مساراتك، فاستبدلها بالمسارات المُكوّنة فعليًا. إذا تعذّر قراءة المفتاح الخاص، فصحّح ملكيته وأذوناته وفقًا لنموذج أمان الخدمة؛ ولا تجعله قابلاً للقراءة من قِبل الجميع.
أعد إنشاء المفتاح الخاص عند الضرورة فقط. إذا كان المفتاح الخاص مفقودًا أو لم يتطابق الزوج، فاستخدم sudo coolconfig generate-proof-keyالأداة المساعدة المثبتة. بالنسبة لـ Docker، أنشئ الزوج في موقع دائم مناسب، ثم قم بتثبيت كلا الملفين في الموقع الذي يتوقعه Collabora، وتأكد من أن عملية coolwsd قادرة على قراءة المفتاح الخاص. على منصة مُدارة، استخدم آلية Secret المدعومة بدلاً من تعديل وحدة pod قيد التشغيل يدويًا.
اجعل جميع النسخ متطابقة. بالنسبة للنسخ المتماثلة، انشر نفس زوج المفاتيح على كل نسخة، ثم أعد تشغيل Collabora أو قم بتفعيله لكي يتمكن من قراءة الملفات. بعد ذلك، قم بتحديث أو إعادة جلب اكتشاف WOPI على مضيف التخزين باستخدام الآلية المدعومة من قِبل ذلك المضيف. يؤدي تدوير المفاتيح إلى تغيير المفتاح العام؛ ويمكن لذاكرة التخزين المؤقت أو نسخة متماثلة أخرى لا تزال تستخدم المفتاح السابق أن تُبقي الملفات قيد التشغيل في حالة الأعطال.
ينبغي أن تشترك النسخ المتماثلة في زوج واحد من مفاتيح الإثبات الدائمة بحيث تقوم كل نسخة بتوقيع الطلبات بشكل متسق.
عندما يتطابق المفتاح ولكن لا يزال التحقق من صحة الدليل يفشل
تحقق من مزامنة الوقت على كلا النظامين. تتضمن طلبات إثبات WOPI طابعًا زمنيًا؛ ويمكن للمضيف رفض طابع زمني قديم أو خارج النطاق الزمني المحدد. تأكد من سلامة بروتوكول NTP أو خدمة الوقت الخاصة بالمنصة، وأن الخوادم تُبلغ عن أوقات UTC صحيحة. لا تُخفف من دقة التحقق من الطابع الزمني لتجاوز مشكلة في الساعة.
بعد ذلك، افحص عنوان URL العام الذي يستخدمه المضيف لإعادة بناء الطلب المُوقّع. يرتبط الإثبات بعنوان URL للطلب، بما في ذلك معلمات الاستعلام ذات الصلة، وتتطلب مواصفات WOPI أن يتطابق تمثيل عنوان URL المستخدم للتحقق مع النموذج المُوقّع. قد يؤدي استخدام خادم وكيل عكسي يُنهي اتصال HTTPS إلى جعل التطبيق يرى عنوان URL داخليًا لبروتوكول HTTP حتى لو وقّعت Collabora عنوان URL العام لبروتوكول HTTPS. اضبط رؤوس الوكيل الموثوق وإعدادات عنوان URL الخارجي للتطبيق وفقًا للإرشادات الرسمية لمضيف WOPI؛ ولا تُعدّل منطق الإثبات أو تُزيل معلمات الاستعلام.
إذا فشل التحقق من صحة المفتاح بعد تغيير المفتاح فقط، فقم بتحديث عملية الاكتشاف وتحقق من أن جميع نسخ Collabora تُظهر نفس المفتاح العام. أما إذا فشلت الطلبات التي تمر عبر خادم وكيل واحد أو نسخة واحدة فقط، فقارن سجلات هذا المسار وإعداداته بدلاً من تغيير المفتاح مرة أخرى. تعطيل التحقق من صحة المفتاح قد يُضعف الفحص الأمني، ولا يُنصح باستخدامه كحلٍّ في بيئة الإنتاج.
تحقق من الإصلاح
قم بجلب نقطة نهاية اكتشاف Collabora من شبكة مضيف التخزين وتأكد من أنها تُرجع بيانات تعريف مفتاح الإثبات الحالية.
افتح مستند اختبار وتأكد من أن مضيف التخزين يقبل طلب CheckFileInfo وطلبات المستندات اللاحقة دون ظهور خطأ في إثبات الصلاحية.
كرر ذلك من خلال كل مسار وكيل أو نسخة متماثلة، ثم تأكد من أن زوج المفاتيح يظل مثبتًا بعد إعادة تشغيل الحاوية أو استبدال وحدة التشغيل.
قم بتأكيد الإصلاح عن طريق فتح مستند والتحقق من أن المضيف يقبل طلبات WOPI الخاصة به.
إن فتح المستند بنجاح يتحقق من هذا المسار فقط؛ كرر الفحص لكل مضيف WOPI ومسار الوكيل الذي تقوم بتشغيله.