يُعطي اسم مستعار لغرفة المصفوفة عنوانًا يسهل قراءته، مثل `<اسم الغرفة > #support:example.org`. الجزء الذي يلي النقطتين هو اسم خادم الخادم الرئيسي ، وهو النطاق الذي يمتلك مساحة اسم المستعار. وهو ليس اسم نطاق عشوائيًا يمكن تغييره بإضافة سجل DNS. لاستخدام نطاقك الخاص، يجب تهيئة خادمك الرئيسي باستخدام هذا النطاق كاسم خادم؛ ويمكن حينها تفويض عملية الربط إلى مضيف منفصل.
يستخدم هذا الدليل example.orgالنطاق، matrix.example.orgومضيف Synapse، #support:example.orgوالاسم المستعار المستهدف. استبدل هذه القيم بقيمك الخاصة. يركز هذا الدليل على Synapse المُستضاف ذاتيًا. إذا كنت تستخدم موفر خدمة استضافة Matrix، فتحقق مما إذا كان يسمح لك باستخدام اسم خادم مخصص؛ إذ لا يمكن للعديد من حسابات الاستضافة إنشاء أسماء مستعارة إلا ضمن نطاق الموفر.
ما يفعله اسم مستعار لغرفة المصفوفة
خادم المنزل هو خادم المصفوفة الذي يخزن بيانات غرف المستخدمين ويتصل بالخوادم الأخرى. يُعرّف مُعرّف الغرفة ، مثل !opaqueid:example.org، الغرفة تقنيًا. أما اسم الغرفة المستعار ، مثل #support:example.org، فهو مدخل دليل قابل للقراءة يُشير إلى مُعرّف الغرفة وقائمة بالخوادم التي تُساعد المستخدم على الانضمام.
لا يُعيد الاسم المستعار تسمية الغرفة، ولا يُغيّر خصوصيتها، ولا يضمن ظهورها في دليل الغرف العامة. هذه إعدادات منفصلة خاصة بالغرفة. قد يكون للغرفة عدة أسماء مستعارة. الاسم المستعار الأساسي هو العنوان المُفضّل الذي يُظهره أو يُشاركه العملاء؛ ويتم نشره كحالة للغرفة، بينما يحتفظ خادم المنزل بربط الاسم المستعار بالغرفة. تُحذّر مواصفات Matrix من إمكانية تغيير روابط الأسماء المستعارة، لذا يُرجى التحقق من العنوان قبل الاعتماد عليه.
قبل أن تبدأ
- تحكم في النطاق الذي تريد استخدامه، مثل
example.org، بما في ذلك القدرة على تقديم محتوى HTTPS على هذا النطاق.
- قم بتشغيل خادم منزلي مثل Synapse مع
server_nameضبط Matrix الخاص به على example.org. يتم اختيار هذه القيمة عند إعداد الخادم، ولا ينبغي تغييرها بشكل عشوائي لاحقًا: حيث تستخدم معرفات المستخدمين والأسماء المستعارة هذه القيمة كمساحة اسم لهم.
- يجب أن يكون لديك شهادة TLS صالحة ومسار اتحاد فعال. يجب على مضيف المصفوفة المفوض، مثل
matrix.example.org، تقديم شهادة صالحة.
- يجب أن تكون منضمًا إلى الغرفة وأن تمتلك صلاحيات الغرفة اللازمة لتغيير عناوينها. كما يحتوي Synapse على قواعد من جانب الخادم تسمح بإنشاء أسماء مستعارة أو تمنع ذلك.
إذا كان الخادم يعمل بالفعل باسم مختلف، على سبيل المثال provider.net، فإن إنشاء اسم مستعار #support:example.orgليس اختصارًا لربط النطاق. استفسر من مزود الخدمة عن دعم النطاقات المخصصة، أو خطط لنشر خادم منزلي منفصل وترحيله. لا تُحدد Matrix آليةً لإنشاء أسماء مستعارة من خادم منزلي في نطاق اسم خادم آخر.
الخطوة 1: اختر اسم الخادم ومسار الاتحاد
حدد الاسم الذي سيظهر بعد النقطتين قبل إعداد الخادم الرئيسي. في هذا المثال، يستخدم Synapse example.orgاسم الخادم، بينما تعمل خدمات العميل والاتحاد على عنوان IP matrix.example.org. يُرسل سجل DNS حركة المرور من matrix.example.orgعنوان IP إلى المضيف أو الخادم الوكيل العكسي. لا يُنشئ سجل DNS وحده مساحة اسم مستعارة، بل اسم خادم Synapse هو الذي يُنشئها.
عندما يتعذر الوصول إلى الخادم الرئيسي مباشرةً example.orgعبر منفذ الاتحاد الافتراضي 8448، يحتاج Matrix إلى طريقة لاكتشاف نقطة نهاية الاتحاد الخاصة به. إحدى الطرق الشائعة هي تفويض .well-known : حيث تُرسل استجابة JSON صغيرة عبر HTTPS على نطاق اسم الخادم لتوجيه حركة مرور الاتحاد إلى مضيف Matrix الفعلي. قم بتقديم هذه الاستجابة على https://example.org/.well-known/matrix/server:
{
"m.server": "matrix.example.org:443"
}
تأكد من أن الاستجابة بتنسيق JSON صحيح، ويتم تقديمها عبر HTTPS، وأن المضيف المستهدف لديه شهادة صالحة ويُوجّه طلبات الاتحاد إلى Synapse. يمكن حذف المنفذ إذا كانت نقطة نهاية الاتحاد تستخدم المنفذ 8448؛ في هذا المثال، المنفذ 443 مُحدد صراحةً. إذا كان Synapse يُقدّم بالفعل خدمات الاتحاد على نطاق اسم الخادم على المنفذ 8448، فقد لا تكون هناك حاجة إلى التفويض. /.well-known/matrix/clientيُعدّ الملف المُوجّه للعميل آلية اكتشاف مختلفة، ولا يُغني عن تفويض الخادم.
تتضمن وثائق تكوين Synapse الحالية serve_server_wellknownخيارًا للحالات التي يتم فيها توجيه الطلبات إلى نطاق اسم الخادم على المنفذ 443 إلى Synapse. استخدم هذا الخيار فقط إذا كان خادم الوكيل وتوجيه النطاق لديك متوافقين مع متطلباته الموثقة. وإلا، فقم بتكوين استجابة JSON على خادم الويب أو خادم الوكيل الخاص بك.
الخطوة الثانية: تحقق من سياسات الأسماء المستعارة في Synapse
يُمكن لـ Synapse تقييد من يُمكنه إنشاء أسماء مستعارة وعناوين الغرف المسموح بها. في قسم "التحقق من الرفض homeserver.yaml"، يُمكنك التحقق alias_creation_rulesمما إذا كان طلب إنشاء اسم مستعار مرفوضًا. يُقيّم Synapse القواعد المُكوّنة بالتسلسل؛ وتُحدد القاعدة الأولى المُطابقة الطلب، وإذا لم تُطابق أي قاعدة، يُرفض الطلب. القائمة الفارغة ترفض جميع طلبات إنشاء الأسماء المستعارة. أما القائمة الفارغة أو المحذوفة فتسمح بإنشاء الأسماء المستعارة افتراضيًا، مع مراعاة عمليات التحقق الأخرى.
تحقق أيضًا require_membership_for_aliasesمن الإعدادات الافتراضية التي تشترط وجود المستخدم في الغرفة. في حال تغيير إعدادات Synapse، اتبع إجراءات التحقق وإعادة التشغيل المعتادة في بيئة النشر، وتجنب تخفيف السياسات بشكل مفرط. كما أن مستويات الطاقة في الغرفة وعناصر التحكم المتاحة للعميل قد تؤثر على إمكانية تعيين العضو العادي للاسم المستعار المفضل.
الخطوة 3: إنشاء اسم مستعار للغرفة
انضم إلى الغرفة المطلوبة في برنامج Matrix وافتح إعداداتها. ابحث عن قسم العنوان أو الاسم المستعار؛ قد يختلف نص البرنامج وتصميمه باختلاف الإصدار. أدخل العنوان الكامل، بما في ذلك #اسم النطاق الرئيسي ونطاق الخادم الرئيسي، على سبيل المثال #support:example.org. أضفه كعنوان للغرفة، وإذا كان البرنامج يوفر هذا الخيار، فعيّنه كاسم مستعار أساسي أو مفضل. احفظ التغييرات.
إذا لم يُوفر عميلك عنصر تحكم في الاسم المستعار، فيمكن لطلب واجهة برمجة تطبيقات العميل والخادم إنشاء الربط. PUT /_matrix/client/v3/directory/room/{roomAlias}تتطلب نقطة النهاية المُصادق عليها مُعرّف غرفة في نص الطلب. على سبيل المثال، يمكن لعضو غرفة مُصرّح له أو حساب خادم إرسال طلب إلى الخادم الرئيسي الذي يملك example.org:
curl -X PUT \
"https://matrix.example.org/_matrix/client/v3/directory/room/%23support%3Aexample.org" \
-H "Authorization: Bearer $MATRIX_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
--data '{"room_id":"!yourRoomId:example.org"}'
استبدل مُعرّف الغرفة النموذجي بالمعرّف الدقيق للغرفة، واستخدم رمز وصول صالحًا مع التفويض اللازم. تعامل مع الرمز ككلمة مرور: لا تنشره، ولا تلصقه في منشور دعم، ولا تُضِفْه إلى نظام التحكم في الإصدار. استخدم علامة النسبة المئوية في ترميز عنوان URL #وفي :مسار HTTP. تشير الاستجابة الناجحة إلى إنشاء الربط بنجاح. أما الاستجابة "موجود بالفعل" فتعني أن الاسم مُستخدم؛ تأكد من مالكه قبل تغيير أي شيء أو حذفه.
الخطوة الرابعة: تحقق من العنوان وشاركه
قم بحلّ الاسم المستعار باستخدام واجهة برمجة التطبيقات العامة للعميل والخادم. لا يتطلب هذا البحث مصادقة.
curl -i \
"https://matrix.example.org/_matrix/client/v3/directory/room/%23support%3Aexample.org"
يجب أن تتضمن الاستجابة الناجحة المعرّف المتوقع room_idوقائمة servers. قارن معرّف الغرفة المُسترجع مع الغرفة المقصودة. يشير الخطأ 404 إلى عدم وجود ربط للاسم المستعار على الخادم الذي يُعالج مساحة الاسم هذه. أما الخطأ 400 فيشير إلى عنوان بتنسيق غير صحيح. بعد ذلك، اختبر الاسم المستعار بالكامل في حساب أو عميل Matrix آخر للتأكد من إمكانية الوصول إلى الغرفة والانضمام إليها وفقًا لقواعد الانضمام الخاصة بها.
إذا قمت بتعيين اسم مستعار رسمي، فتحقق من تفاصيل الغرفة مرة أخرى وتأكد من أن العنوان المفضل هو العنوان الذي تنوي نشره. شارك الاسم المستعار أو رابط Matrix الدائم فقط بعد التأكد من أنه يُشير إلى الغرفة الصحيحة. تذكر أن الاسم المستعار العام لا يجعل الغرفة الخاصة عامة؛ إذ لا يزال المستخدم بحاجة إلى إذن للانضمام.
مشاكل شائعة يجب تجنبها
- عند استخدام نطاق لا يملكه الخادم الرئيسي: يجب أن يتطابق اسم الخادم في الاسم المستعار مع مساحة اسم الخادم الرئيسي الذي أنشأه. لا يمكن لسجل CNAME في نظام أسماء النطاقات (DNS) وحده أن يُصرّح باستخدام نطاق خادم آخر.
- الخلط بين النطاق والمضيف:
example.org قد يكون اسم النطاق هو اسم مستعار بينما matrix.example.orgيكون اسم المضيف هو اسم الخدمة. لذا، احرص على تحديد اسم خادم Synapse والتفويض بشكل مدروس.
- وضع ملف اكتشاف العميل في المكان الخطأ: يستخدم تفويض الاتحاد ملفًا مختلفًا
/.well-known/matrix/server. ملف اكتشاف العميل له مسار وغرض مختلفان.
- بافتراض أن اسمًا مستعارًا ينشر غرفة بشكل عام: إن حل الاسم المستعار ونشر دليل الغرفة العامة عمليتان منفصلتان تخضعان لسياسات منفصلة.
- تغيير اسم الخادم في بيئة نشر قائمة: تعتمد معرّفات المصفوفة الحالية على مساحة الاسم هذه. تعامل مع تغيير النطاق كعملية ترحيل معمارية، وليس مجرد تغيير سريع لاسم مستعار.
- المشاركة دون التحقق من الربط: قم بحل الاسم المستعار وقارن مُعرّف الغرفة المُسترجع قبل النشر. يُعدّ العنوان المقروء مُريحًا، لكن ربط الخادم هو ما يُحدد وجهة هذا العنوان.
للاطلاع على تفاصيل البروتوكول، راجع تنسيق مُعرّف واسم مستعار Matrix وواجهة برمجة تطبيقات Matrix room-alias . لإعداد Synapse، راجع دليل تفويض الاتحاد ودليل التكوين الخاص بـ Element . قد تتغير خيارات Synapse وشاشات العميل بين الإصدارات؛ لذا راجع وثائق الإصدار الذي تستخدمه.