استخدام شهادة SSL من جهة خارجية في ServBay
عند محاكاة بيئة الإنتاج أثناء تطوير أو اختبار تطبيقاتك محليًا، فإن استخدام شهادة SSL صادرة عن جهة اعتماد (CA) موثوقة يضمن أن موقعك يُمكن الوصول إليه بشكل آمن عبر HTTPS. هذا الأمر ضروري لاختبار المزايا المعتمدة على HTTPS أو لضمان تطابق أقرب بين البيئة المحلية وبيئة الإنتاج. في هذا الدليل، ستتعرف بالتفصيل على كيفية تكوين شهادة SSL صادرة عن جهة خارجية في بيئة تطوير ServBay المحلية.
يرجى الملاحظة أن شهادات SSL الصادرة عن جهات الاعتماد الخارجية عادة ما تدعم فقط النطاقات ذات الامتدادات القياسية (مثل .com
، .org
، .net
، .cn
وغيرها)، ولا تدعم الامتدادات غير القياسية (مثل .local
، .test
، .demo
وغيرها)، لأن هذه النطاقات غير قابلة للتحقق العلني. إذا كنت تستخدم نطاقًا غير قياسي لتطويرك المحلي، فمن الأفضل اعتماد خاصية ServBay User CA أو ServBay Public CA المدمجة التي توفر إنشاء شهادات SSL موثوقة محليًا.
حالات الاستخدام
- محاكاة بيئة الإنتاج: إعادة إنشاء إعدادات HTTPS الحقيقية لاختبار أداء الموقع في ظروف الإنتاج.
- اختبار الميزات المعتمدة على HTTPS: تجربة واختبار واجهات برمجة التطبيقات (API) أو الميزات التي تتطلب بيئة آمنة في المتصفح مثل Service Workers، Web Crypto API، الموقع الجغرافي وغيرها.
- تطوير واجهات برمجة التطبيقات (API) المحلية: تفعيل HTTPS لواجهات برمجة التطبيقات المحلية لتسهيل التكامل مع الواجهات الأمامية عبر HTTPS.
المتطلبات الأساسية
قبل البدء، تأكد من توفر التالي:
- تنصيب وتشغيل ServBay على macOS.
- معرفة أساسية باستخدام الطرفية وأوامر السطر.
- توفر أداة OpenSSL على النظام (وهي متوفرة افتراضيًا على macOS).
الخطوة الأولى: طلب شهادة SSL من جهة خارجية
أولًا، تحتاج إلى طلب شهادة SSL من جهة اعتماد (CA) موثوقة مثل Let's Encrypt أو DigiCert أو GlobalSign أو Sectigo. يتطلب ذلك إنشاء طلب توقيع شهادة (CSR) وهو خطوة أساسية للحصول على الشهادة.
توليد المفتاح الخاص (Private Key)
المفتاح الخاص هو الملف الأساسي الذي يستعمله الخادم لفك تشفير بيانات SSL. يجب الحفاظ عليه بشكل سري وآمن. لتوليد مفتاح RSA خاص باستخدام OpenSSL، نفذ الأمر التالي في الطرفية:
shopenssl genpkey -algorithm RSA -out servbay.demo.key -pkeyopt rsa_keygen_bits:2048
1openssl genpkey
: أمر OpenSSL لتوليد المفتاح الخاص.-algorithm RSA
: تحديد خوارزمية RSA للمفتاح.-out servbay.demo.key
: تحديد اسم الملف الناتج.-pkeyopt rsa_keygen_bits:2048
: تعيين طول المفتاح ليكون 2048 بت (هذا هو الحد الأدنى الموصى به للحماية).
إنشاء طلب توقيع الشهادة (CSR)
طلب توقيع الشهادة (CSR) يتضمن المفتاح العمومي ومعلومات تُرسل للجهة المصدرة للشهادة. استخدم المفتاح الخاص الذي أنشأته سابقًا لتوليد CSR:
shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1openssl req
: أمر OpenSSL لمعالجة طلبات الشهادات.-new
: لإنشاء CSR جديد.-key servbay.demo.key
: تحديد ملف المفتاح الخاص.-out servbay.demo.csr
: تحديد اسم ملف الـ CSR الناتج.
عند تنفيذ الأمر، سيُطلب منك إدخال بعض المعلومات لتضمينها في الـ CSR. أدخل البيانات وفقًا لمتطلبات الجهة المصدرة أو وضعك:
Country Name (2 letter code) [AU]:CN # رمز الدولة، مثل CN (الصين) أو US (الولايات المتحدة) State or Province Name (full name) [Some-State]:Hong Kong # اسم المقاطعة أو الولاية Locality Name (eg, city) []:Kowloon # اسم المدينة Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # اسم المؤسسة أو الشركة Organizational Unit Name (eg, section) []:Development # اسم القسم (اختياري) Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **الأهم: أدخل اسم النطاق الكامل كما سيظهر في الشهادة (FQDN).** Email Address []:[email protected] # بريد إلكتروني للتواصل (اختياري) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # كلمة مرور التحدي (عادة تترك فارغة) An optional company name []: # اسم شركة اختياري (عادة يترك فارغة)
1
2
3
4
5
6
7
8
9
10
11
12تأكد من إدخال اسم النطاق الصحيح في حقل
Common Name
مثلservbay.demo
. إذا كنت بحاجة إلى شهادة لعدة نطاقات (شهادة SAN)، ستجد خيارات في بعض مواقع CA أو أدواتهم لتضمين نطاقات إضافية، والخطوات الأساسية لتوليد الـ CSR مماثلة.إرسال CSR واستلام الشهادة
قم بنسخ محتوى ملف
servbay.demo.csr
أو رفعه إلى موقع الجهة المصدرة (CA) واتبع تعليماتها حول إثبات ملكية النطاق (عادةً عبر سجل DNS أو ملف على السيرفر أو تحقق بالبريد الإلكتروني). بعد التحقق، ستستلم غالبًا الملفات التالية:- ملف الشهادة الرئيسية الخاصة بك (مثل
servbay.demo.crt
أوservbay.demo.pem
). - ملف أو أكثر لسلسلة الشهادة الوسيطة (مثل
intermediate.crt
أوca-bundle.crt
). - ملف الشهادة الجذرية (غالبًا لا يلزم تثبيته لأن أنظمة التشغيل والمتصفحات تكون قد ثبّتته بالفعل).
- ملف الشهادة الرئيسية الخاصة بك (مثل
الخطوة الثانية: تهيئة شهادة SSL الخارجية في ServBay
بعد الحصول على ملفات الشهادة من الجهة الخارجية، يجب استيرادها وتكوينها في ServBay ليتمكن موقعك من العمل عبر HTTPS.
ينصح ServBay بوضع كل ملفات الشهادات والمفاتيح المخصصة داخل المسار /Applications/ServBay/ssl/import/tls-certs/
لتسهيل الإدارة.
نقل ملفات الشهادة والمفتاح إلى المسار المحدد
انسخ المفتاح الخاص (
servbay.demo.key
) وملف الشهادة (servbay.demo.crt
) وكل ملفات السلسلة الوسيطة (مثلintermediate.crt
) إلى مجلد الاستيراد:shmv servbay.demo.key /Applications/ServBay/ssl/import/tls-certs/ mv servbay.demo.crt /Applications/ServBay/ssl/import/tls-certs/ # في حال وجود شهادة وسيطة، انقلها أيضًا mv intermediate.crt /Applications/ServBay/ssl/import/tls-certs/ # في حال وجود شهادات وسيطة أخرى، انقلها جميعًا # mv another_intermediate.crt /Applications/ServBay/ssl/import/tls-certs/
1
2
3
4
5
6دمج الشهادات الوسيطة مع ملف الشهادة الرئيسي
حتى يتمكن المتصفح من التحقق بشكل صحيح من سلسلة الشهادات، يجب دمج (إلحاق) كل الشهادات الوسيطة مع ملف الشهادة الرئيسي (
servbay.demo.crt
). عادة، تبدأ بالسلسلة الرئيسية ثم الوسيطة بالترتيب الذي تحدده الجهة المصدرة. الجهة المصدرة عادة توضح الترتيب وملفات السلسلة. على سبيل المثال، إذا كان لديك ملف وسيط باسمintermediate.crt
:shcat intermediate.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1في حالة أكثر من شهادة وسيطة (مثلاً:
intermediate1.crt
ثمintermediate2.crt
):shcat intermediate1.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt cat intermediate2.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1
2بعد الدمج، يكون ملف
servbay.demo.crt
يحتوي على الشهادة الرئيسية وسلسلة الشهادات الوسيطة الكاملة.فتح لوحة تحكم ServBay
شغّل تطبيق ServBay وابحث عن أيقونته في شريط القوائم أو الـ Dock، ثم افتح لوحة التحكم.
إضافة أو تعديل موقع ويب
في لوحة التحكم، انتقل إلى قسم
المواقع
.- في حالة إنشاء موقع جديد، اضغط على زر
+
في الزاوية العلوية. - في حالة تعديل موقع قائم لإضافة الشهادة، اختر الموقع واضغط على زر التعديل (أيقونة القلم).
- في حالة إنشاء موقع جديد، اضغط على زر
تكوين شهادة SSL
ضمن قسم SSL في إعدادات الموقع، ستجد خيارات لطريقة إصدار الشهادة. اختر
Custom
(مخصص).- Certificate Key File (ملف المفتاح الخاص): اختر الملف من المسار
/Applications/ServBay/ssl/import/tls-certs/
مثلservbay.demo.key
. - Certificate File (ملف الشهادة): اختر الملف من نفس المسار والذي تم دمج الشهادات الوسيطة فيه، مثل
servbay.demo.crt
.
(ملاحظة: مسار الصورة توضيحي، الرجاء التأكد من تحديثه حسب مسارات وثائق ServBay الفعلية)
- Certificate Key File (ملف المفتاح الخاص): اختر الملف من المسار
تحديد النطاق ومسار الجذر للموقع
تأكد من صحة حقل
Domain
(النطاق) وأنه يطابق النطاق المستخدم في طلب الشهادة (مثلservbay.demo
). أيضاً، حدد مسار الجذر الخاص بالموقع (مثل/Applications/ServBay/www/servbay.demo
).حفظ وتطبيق الإعدادات
بعد التأكد من جميع الإعدادات، اضغط على زر الحفظ. سيظهر إشعار بضرورة إعادة تشغيل خادم الويب (Caddy، Nginx أو Apache). وافق على التطبيق وإعادة التشغيل.
التحقق من الإعداد
بإمكانك الآن زيارة الموقع (مثلاً https://servbay.demo
) من المتصفح. إذا كانت الإعدادات صحيحة ستجد رمز القفل في شريط العنوان. يمكنك النقر عليه لعرض تفاصيل الشهادة والتأكد من أنها صادرة عن الجهة الخارجية وأن سلسلة الشهادة كاملة.
في حال وجود مشاكل، ارجع للتحقق من:
- هل النطاق يتطابق مع Common Name أو SAN في الشهادة؟
- هل مسارات ملفات المفتاح والشهادة صحيحة؟
- هل ملف الشهادة يحتوي فعلاً على سلسلة الشهادات الوسيطة بالترتيب؟
- هل تم حفظ وتطبيق التغييرات في إعدادات الموقع في ServBay؟
- هل نظام التشغيل يثق بجذر شهادة CA (غالبًا يكون مثبتًا بالفعل من الجهة الخارجية)؟
ملاحظات هامة
- تطابق النطاق: يجب أن تتطابق الشهادة تمامًا مع اسم النطاق الذي قمت بتكوينه للموقع في ServBay (وكذلك النطاقات الفرعية إذا كانت الشهادة Wildcard).
- مدة صلاحية الشهادة: شهادات الجهات الخارجية لها فترة صلاحية. احرص على تجديدها قبل انتهاء مدتها واتباع نفس خطوات التحديث.
- أمان المفتاح الخاص: الملف ذو الامتداد
.key
مهم للغاية ويجب الحفاظ عليه وعدم مشاركته. - خيارات SSL المدمجة في ServBay: يوفر ServBay خيارات مبسطة مثل:
- ServBay User CA / Public CA: لإنشاء شهادات تطوير محلية موثوقة تدعم أي امتداد نطاق.
- ACME (Let's Encrypt): بالنسبة للنطاقات القياسية، يمكن لـ ServBay التكامل أوتوماتيكيًا مع Let's Encrypt لتجديد الشهادات. طريقة الاستيراد المخصصة مناسبة إذا كان لديك شهادة صادرة عبر إجراءات أخرى.
الأسئلة الشائعة (FAQ)
س1: لدي ملف شهادة بصيغة .pfx
أو .p12
، كيف أستخدمه في ServBay؟
ج1: ملفات .pfx
أو .p12
عادة تحوي المفتاح الخاص وسلسلة الشهادة. استخدم OpenSSL لاستخراج المفتاح الخاص (.key
) والشهادة (.crt
) هكذا:
openssl pkcs12 -in your_certificate.pfx -nocerts -out your_private_key.key -nodes
openssl pkcs12 -in your_certificate.pfx -clcerts -nokeys -out your_certificate.crt
2
قد تحتاج بعد ذلك إلى الحصول على ملف الشهادات الوسيطة من الجهة وإلحاقه حسب خطوات الدمج أعلاه.
س2: اتبعت الخطوات لكن المتصفح يظهر تحذير "الاتصال غير آمن"، ماذا أفعل؟
ج2: تحقق مما يلي:
- تطابق النطاق: هل النطاق في المتصفح مطابق لما هو مُسجّل في الشهادة؟
- اكتمال سلسلة الشهادة: هل ملف
.crt
المستورد يحتوي كل الشهادات الوسيطة وبالترتيب الصحيح؟ افحصها بأداة فحص SSL أونلاين. - إعادة تشغيل ServBay: هل تم إعادة تشغيل خادم الويب بعد التعديل؟
- ذاكرة الكاش: امسح ذاكرة المتصفح أو جرب الوضع الخفي.
- ثقة النظام: هل نظام التشغيل يثق بجذر الشهادة الصادرة من الجهة؟
الخلاصة
باتباع هذه الخطوات، تستطيع تهيئة واستخدام شهادات SSL صادرة عن جهات خارجية في بيئة ServBay المحلية بنجاح. هذا يمكِّنك من محاكاة بيئة الإنتاج بدقة واختبار الأداء عبر HTTPS بمرونة وفعالية. رغم أن ServBay يوفر خيارات إعداد SSL أسهل كـ ACME أو الشهادات المدمجة، إلا أن معرفة طريقة الاستيراد اليدوي للشهادات الخارجية أمر مفيد عند التعامل مع احتياجات خاصة أو نقل شهادات قديمة.