تشغيل كود Collabora خلف Nginx مع إنهاء TLS
قم بتعيين Nginx مسؤولاً عن HTTPS لحاوية Collabora CODE، وقم بتحرير WebSockets بشكل صحيح، وتحقق من نقطة النهاية العامة دون كشف المنفذ 9980.
قد تتأخر المستندات بعد وضع Collabora CODE خلف HTTPS بسبب اختلاف الخادم الوكيل وCODE حول نقطة انتهاء TLS، أو بسبب قيام الخادم الوكيل بحظر حركة مرور WebSocket. قم بتهيئة Nginx لعرض الشهادة العامة، وإعادة توجيهها إلى مستمع CODE خاص، وتمرير مسارات WebSocket. إعدادات CODE هي [ ssl.enable=falseأدخل الإعدادات هنا] ssl.termination=true.
يستخدم هذا المثال Nginx على مضيف Docker. لاستخدام خادم وكيل في حاوية أخرى، استخدم شبكة Docker الخاصة. راجع إعدادات الوكيل في Collabora ودليل صورة CODE Docker للاطلاع على الخيارات الخاصة بكل إصدار.
يعني إنهاء TLS أن Nginx يتولى معالجة اتصال HTTPS وشهادة المتصفح، بينما يستخدم CODE بروتوكول HTTP على المنفذ 9980 خلفه. حافظ على خصوصية هذا المستمع: اربطه بحلقة اتصال محلية على مضيف واحد، أو استخدم شبكة Docker خاصة. إذا عبرت حركة مرور الوكيل إلى CODE شبكة غير موثوقة، فاحمِ هذا الرابط باستخدام TLS أو نفق.

office.example.comإلى خادم Nginx الوكيل. احصل على شهادة لهذا الاسم تحديدًا، ثم ثبّت سلسلة الشهادات والمفتاح الخاص على الخادم الوكيل.127.0.0.1:9980:9980. لا تنشر 9980:9980على جميع واجهات المضيف إلا إذا كان جدار الحماية وتصميم الشبكة يقيدان ذلك صراحةً.

services:
collabora:
image: ${COLLABORA_CODE_IMAGE}
restart: unless-stopped
ports:
- "127.0.0.1:9980:9980"
environment:
extra_params: "--o:ssl.enable=false --o:ssl.termination=true"
قم COLLABORA_CODE_IMAGEبتعيين علامة صورة مُختَبَرة ومُثبَّتة. احتفظ بقائمة السماح الخاصة بمضيف WOPI وإعدادات المصادقة؛ فإنهاء TLS لا يستبدلها. إذا كان Nginx خدمة Docker أخرى، فاحذف تعيين منفذ المضيف وقم بتوجيه الطلب إلى http://collabora:9980الشبكة الخاصة المشتركة.
/office/.
server {
listen 443 ssl;
server_name office.example.com;
ssl_certificate /etc/letsencrypt/live/office.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/office.example.com/privkey.pem;
location ^~ /browser {
proxy_pass http://127.0.0.1:9980;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /hosting/discovery {
proxy_pass http://127.0.0.1:9980;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /hosting/capabilities {
proxy_pass http://127.0.0.1:9980;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ~ ^/cool/(.*)/ws$ {
proxy_pass http://127.0.0.1:9980;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 36000s;
}
location ^~ /cool/adminws {
proxy_pass http://127.0.0.1:9980;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 36000s;
}
location ~ ^/(c|l)ool {
proxy_pass http://127.0.0.1:9980;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
قم بتوجيه مسارات موارد المحرر، والاكتشاف، والصلاحيات. تتطلب المواقع /cool/.../wsو /cool/adminwsرؤوس HTTP/1.1 و Upgrade لكي يتمكن Nginx من توجيه اتصالات WebSocket؛ ويحافظ مهلة القراءة الطويلة على جلسات التحرير مفتوحة. راجع وثائق توجيه WebSocket في Nginx .



nginx -t. تابع فقط إذا أفاد Nginx بنجاح اختبار التكوين؛ ثم أعد تحميل Nginx باستخدام أمر الخدمة المعتاد في نظامك.docker compose up -d collabora. تحقق من سجلات الحاوية بحثًا عن أخطاء بدء التشغيل، وتأكد من أن التكوين النشط يتضمن كلا خياري SSL.
للتوضيح، سجل مستودع Collabora تقريرًا بتاريخ 22 يوليو 2026 يفيد بأن coolwsd --probeفحص السلامة المدمج في الإصدار CODE 26.04.2.2 والإصدارات الأحدث قد يفحص بروتوكول HTTPS على المنفذ 9980 حتى عند انتهاء اتصال TLS عند الخادم الوكيل. قد يؤدي هذا إلى تصنيف الحاوية على أنها غير سليمة بينما تستجيب نقطة النهاية العامة. راجع سجل المشكلة الخاص بعلامة الصورة الخاصة بك ؛ واختبر نقطة النهاية العامة وجلسة تحرير قبل اعتبار حالة السلامة وحدها دليلًا على فشل TLS. احتفظ بفحوصات السلامة ما لم يتم استبدالها بمراقب آخر.
اطلب https://office.example.com/hosting/discoveryعبر متصفح أو باستخدام curl. يجب أن يُعيد الطلب ملف XML لاكتشاف WOPI عبر HTTPS، مع عناوين URL تستخدم اسم مضيف HTTPS العام. يشير تحذير الشهادة إلى وجود مشكلة في اسم المضيف أو الشهادة؛ وتشير عناوين URL التي تعمل ببروتوكول HTTP إلى عدم تطابق وضع TLS أو مخطط إعادة التوجيه؛ ويشير رمز الخطأ 502 إلى أن الخادم الوكيل لا يستطيع الوصول إلى CODE.
بعد ذلك، افتح مستندًا تجريبيًا من مضيف WOPI المتصل وتأكد من عمل التحرير. في أدوات مطوري المتصفح، /cool/.../wsيجب أن يُنشئ الطلب اتصال WebSocket. إذا نجح الاكتشاف ولكن توقف التحرير، فتحقق من مواقع WebSocket وعناوينها. تأكد من أن التكامل يسمح لمضيف WOPI ويشير إلى الموقع المطلوب https://office.example.com.
الإعداد الناجح: الشهادة موثوقة، والاكتشاف يستخدم HTTPS، والمنفذ 9980 يظل خاصًا، ويتم فتح مستند اختبار وتعديله من خلال WebSocket.
قم بتعيين Nginx مسؤولاً عن HTTPS لحاوية Collabora CODE، وقم بتحرير WebSockets بشكل صحيح، وتحقق من نقطة النهاية العامة دون كشف المنفذ 9980.
استكشاف أخطاء لوحة مفاتيح متصفح الهاتف المحمول التي تغطي النص في Collabora Online وإصلاحها، مع حلول سريعة وفحوصات منفصلة للمتصفحات وWebViews المضمنة وصفحات الاستضافة.
قم بتعيين حدود الطباعة والتنزيل لروابط ONLYOFFICE أو أعضاء الغرفة أو جلسات Docs API، ثم تحقق من القيود من حساب المستلم.
قم بتعيين وجهة النسخ الاحتياطي، والجدول الزمني، وتغطية البريد، وحد الاحتفاظ في ONLYOFFICE Workspace، ثم تحقق من أن الأرشيف جاهز للاستعادة.
ابدأ تشغيل حزمة Enterprise Docker Compose، واحفظ ترخيصها وبياناتها، وقم بتكوين JWT بأمان، وتأكد من أن المحررات جاهزة للتكامل.
استخدم ماكرو جافا سكريبت الخاص بـ ONLYOFFICE لإزالة الأحرف غير القابلة للطباعة وقص المسافات الزائدة من نطاق جدول بيانات محدد، مع سير عمل مراجعة آمن.
انقل بيانات البوابة من القرص الافتراضي إلى موفر تخزين سحابي مدعوم، أو انقل بيانات Docker بأمان عن طريق تغيير تعيين وحدة التخزين المضيفة الخاصة بها.
حدد ما إذا كان خادم المستندات يستخدم حزمة Linux أو Docker، وقم بإزالة مكوناته فقط، وتحقق من البيانات المتبقية دون حذف الخدمات المشتركة عن طريق الخطأ.
حدد أسباب بطء التحرير التعاوني، مثل ضغط موارد Docker أو اتصالات الوكيل أو تحميل المستندات، ثم اختر الحل الذي يتوافق مع قياساتك.
اختر المكان الذي يجب أن ينتهي فيه TLS، وقم بتثبيت شهادة موثوقة ومفتاح خاص بأمان، وتحقق من الوصول إلى HTTPS لخادم ONLYOFFICE Docs المُشغل بواسطة Docker.