تشرح هذه المقالة كيفية تفعيل وإدارة شهادة SSL داخل بيئة JPaaS، والفرق بين استخدام الشهادة المدمجة Built-in SSL أو رفع شهادة مخصصة Custom SSL.
نظرة عامة
توفر منصة JPaaS أكثر من طريقة لتأمين الاتصال بتطبيقك عبر بروتوكول HTTPS:
- Built-in SSL Certificate
شهادة SSL مدمجة وسريعة التفعيل من داخل إعدادات البيئة. - Custom SSL Certificate
شهادة SSL خاصة بدومينك، يتم إصدارها من مزود شهادات SSL ثم رفعها داخل البيئة.
تفعيل SSL يساعد على تشفير الاتصال بين زوار الموقع أو التطبيق والخادم، ويجعل الرابط يعمل عبر:
https://
بدلاً من:
http://
أولاً: الشهادة المدمجة Built-in SSL
الشهادة المدمجة مناسبة عندما تريد تفعيل HTTPS بسرعة على رابط البيئة الافتراضي المقدم من منصة JPaaS، بدون الحاجة إلى شراء أو رفع شهادة SSL يدوياً.
حسب إعدادات Virtuozzo PaaS، يمكن تفعيل Built-in SSL من داخل نافذة إعداد أو تعديل البيئة، وتوفر المنصة تهيئة سريعة للشهادة من خلال خيار SSL في الـ topology wizard.
مميزات Built-in SSL
تتميز الشهادة المدمجة بأنها:
- سهلة التفعيل من لوحة JPaaS.
- لا تحتاج إلى رفع ملفات شهادة يدوياً.
- مناسبة للاختبار أو للتطبيقات التي تستخدم رابط البيئة الافتراضي.
- تساعد على تشغيل التطبيق عبر HTTPS بسرعة.
متى تستخدم Built-in SSL؟
استخدم Built-in SSL إذا كنت تريد تأمين الرابط الافتراضي للبيئة، مثل:
environment-name.yourdomain.ly
أو إذا كان التطبيق لا يحتاج حالياً إلى دومين مخصص.
خطوات تفعيل Built-in SSL
- سجّل الدخول إلى لوحة تحكم JPaaS.
- افتح البيئة المطلوبة أو أنشئ بيئة جديدة.
- اضغط على خيار تعديل إعدادات البيئة أو Change Environment Topology.
- من نافذة إعدادات البيئة، انتقل إلى قسم SSL.
- فعّل خيار Built-in SSL.
- اضغط Apply إذا كنت تعدّل بيئة موجودة، أو Create إذا كنت تنشئ بيئة جديدة.
- بعد تطبيق التغييرات، افتح البيئة من المتصفح وتأكد أن الرابط يعمل عبر:
https://
ثانياً: الشهادة المخصصة Custom SSL
تُستخدم شهادة Custom SSL عندما تريد تشغيل تطبيقك على دومين مخصص، مثل:
example.com
www.example.com
في هذه الحالة، تحتاج إلى شهادة SSL صادرة لهذا الدومين، ثم تقوم برفع ملفات الشهادة داخل بيئة JPaaS.
تدعم JPaaS عدة أنواع من الشهادات المخصصة، مثل الشهادات ذاتية التوقيع، Wildcard، Multi-Domain، وشهادات DV أو EV حسب نوع الشهادة التي تصدرها من مزود SSL.
متطلبات استخدام Custom SSL
قبل رفع شهادة مخصصة، تأكد من توفر التالي:
- دومين مخصص.
- شهادة SSL صادرة للدومين.
- المفتاح الخاص Private Key / Server Key.
- شهادة الدومين Domain Certificate.
- الشهادة الوسيطة أو سلسلة الشهادات Intermediate Certificate / CA Bundle.
- ربط الدومين بالبيئة عبر DNS.
- وجود Public IP مرتبط بنقطة الدخول المناسبة للبيئة.
في بيئات مثل Node.js أو Go أو .NET أو الحاويات المخصصة، قد تحتاج إلى Load Balancer مع Public IP لأن الـ Load Balancer يكون نقطة الدخول للبيئة.
تجهيز ملفات شهادة SSL
عادةً ستحتاج إلى الملفات التالية من مزود الشهادة:
1. Server Key
وهو المفتاح الخاص المستخدم لإنشاء طلب الشهادة CSR.
مثال امتداد الملف:
server.key
2. CSR
وهو طلب توقيع الشهادة الذي يتم إرساله إلى مزود SSL لإصدار الشهادة.
مثال امتداد الملف:
server.csr
3. Domain Certificate
وهي الشهادة الصادرة للدومين.
مثال امتداد الملف:
certificate.crt
4. Intermediate Certificate / CA Bundle
وهي سلسلة الشهادات الوسيطة المطلوبة لإكمال الثقة في الشهادة.
مثال امتداد الملف:
ca_bundle.crt
إنشاء Private Key و CSR باستخدام OpenSSL
يمكنك إنشاء المفتاح الخاص وطلب CSR باستخدام OpenSSL.
إنشاء المفتاح الخاص
openssl genrsa -out server.key 4096
يفضل استخدام مفتاح بطول 2048 بت على الأقل، ويمكن استخدام 4096 بت لمستوى أعلى من الأمان. لا تقم بحماية المفتاح بكلمة مرور، لأن ذلك قد يسبب خطأ عند رفعه في لوحة JPaaS.
إنشاء طلب CSR
openssl req -new -key server.key -out server.csr
أثناء إنشاء CSR، سيطلب منك إدخال بيانات الشهادة. أهم حقل هو:
Common Name
يجب أن يكون مطابقاً للدومين الذي ستصدر له الشهادة، مثل:
example.com
أو:
www.example.com
إذا كانت الشهادة من نوع Wildcard، قد يكون Common Name بهذا الشكل:
*.example.com
ربط الدومين بالبيئة
قبل رفع شهادة Custom SSL أو اختبارها، يجب توجيه الدومين إلى الـ Public IP الخاص بالبيئة.
الخطوات
- من لوحة JPaaS، افتح البيئة المطلوبة.
- حدد نقطة الدخول للبيئة، وقد تكون:
- Application Server
- Load Balancer
- انسخ عنوان الـ Public IP.
- انتقل إلى إدارة DNS الخاصة بالدومين.
- أضف سجل A Record يشير إلى Public IP.
مثال:
| النوع | الاسم | القيمة |
|---|---|---|
| A | @ | Public IP |
| A | www | Public IP |
بعد تعديل DNS، قد تحتاج إلى الانتظار حتى يتم انتشار السجلات عالمياً، وقد تختلف مدة الانتشار حسب إعدادات DNS و TTL.
رفع Custom SSL داخل JPaaS
بعد تجهيز ملفات الشهادة وربط الدومين، يمكنك رفع الشهادة داخل البيئة.
الخطوات
- سجّل الدخول إلى لوحة تحكم JPaaS.
- افتح البيئة المطلوبة.
- اضغط على Settings.
- من القائمة الجانبية، اختر Custom SSL.
- ارفع أو الصق محتوى الملفات المطلوبة في الحقول المناسبة:
- Server Key
- Domain Certificate
- Intermediate Certificate / CA Bundle
- اضغط Save.
- قد يتم إعادة تشغيل بعض مكونات البيئة تلقائياً لتطبيق الشهادة.
- افتح الدومين من المتصفح باستخدام:
https://example.com
وتأكد من أن الموقع يعمل بدون تحذيرات SSL.
الفرق بين Built-in SSL و Custom SSL
| المقارنة | Built-in SSL | Custom SSL |
|---|---|---|
| الاستخدام | رابط البيئة الافتراضي | دومين مخصص |
| سرعة التفعيل | سريع جداً | يحتاج تجهيز شهادة و DNS |
| الحاجة إلى شراء شهادة | لا غالباً | نعم، إلا إذا كانت الشهادة مجانية من مزود موثوق |
| الحاجة إلى Private Key | لا | نعم |
| الحاجة إلى CA Bundle | لا | نعم |
| مناسب للإنتاج | مناسب حسب نوع الاستخدام | الأفضل للمواقع والتطبيقات على دومين مخصص |
| يتطلب Public IP | لا في العادة | نعم غالباً |
| مناسب لـ www.example.com | لا | نعم |
متى أختار كل نوع؟
اختر Built-in SSL إذا كنت:
- تستخدم رابط البيئة الافتراضي.
- تريد اختبار التطبيق بسرعة عبر HTTPS.
- لا تحتاج إلى دومين مخصص حالياً.
- لا تريد التعامل مع ملفات SSL يدوياً.
اختر Custom SSL إذا كنت:
- تستخدم دومين مخصص.
- تريد تشغيل الموقع أو التطبيق بشكل رسمي للعملاء.
- لديك شهادة SSL صادرة من مزود شهادات.
- تحتاج إلى شهادة Wildcard أو Multi-Domain.
- تريد أن يظهر الدومين الخاص بك مباشرة في المتصفح مع HTTPS.
أخطاء شائعة وحلولها
1. الموقع لا يعمل عبر HTTPS بعد تفعيل SSL
تحقق من التالي:
- هل تم تطبيق التغييرات داخل JPaaS؟
- هل تم رفع جميع ملفات الشهادة؟
- هل الدومين يشير إلى Public IP الصحيح؟
- هل تم انتظار انتشار DNS؟
- هل تستخدم الرابط الصحيح مع
https://؟
2. تظهر رسالة Certificate Mismatch
هذا يعني غالباً أن الشهادة لا تطابق الدومين المستخدم.
مثال:
الشهادة صادرة لـ:
example.com
بينما يتم فتح الموقع عبر:
www.example.com
في هذه الحالة يجب أن تشمل الشهادة كلا الاسمين، أو استخدام شهادة Wildcard أو Multi-Domain حسب الحاجة.
3. خطأ عند رفع Server Key
قد يحدث الخطأ إذا كان المفتاح الخاص محمياً بكلمة مرور. يجب استخدام Private Key بدون passphrase، لأن لوحة Virtuozzo قد لا تقبل المفتاح المحمي بكلمة مرور.
4. المتصفح يعرض تحذير أن الشهادة غير موثوقة
تحقق من رفع Intermediate Certificate / CA Bundle بشكل صحيح. عدم رفع السلسلة الوسيطة قد يؤدي إلى ظهور تحذيرات SSL لبعض الزوار أو الأجهزة.
5. الدومين ما زال يفتح على HTTP فقط
تفعيل SSL يجعل HTTPS متاحاً، لكنه لا يعني دائماً أن التطبيق سيقوم بتحويل الزوار تلقائياً من HTTP إلى HTTPS. قد تحتاج إلى إعداد redirect داخل التطبيق أو الخادم لتحويل الزيارات إلى HTTPS.
ملاحظات مهمة
- تأكد من حفظ نسخة آمنة من Private Key، لأن ضياعه قد يتطلب إعادة إصدار الشهادة.
- لا تشارك Private Key مع أي جهة غير موثوقة.
- عند تجديد شهادة SSL، يجب رفع الشهادة الجديدة داخل JPaaS قبل انتهاء القديمة.
- إذا كان التطبيق يستخدم Load Balancer، تأكد أن الشهادة مرفوعة على نقطة الدخول الصحيحة.
- بعد تغيير DNS، قد لا يظهر التأثير فوراً بسبب مدة الانتشار.