تشرح هذه المقالة طريقة تثبيت شهادة SSL على خادم Windows باستخدام Internet Information Services (IIS).
نظرة عامة
بعد إصدار شهادة SSL الخاصة بك، يجب تثبيتها على نفس خادم Windows الذي تم إنشاء طلب توقيع الشهادة CSR من خلاله. بعد ذلك، يجب ربط الشهادة بالموقع الصحيح داخل IIS حتى يعمل الموقع بشكل آمن عبر HTTPS.
المتطلبات المسبقة
قبل البدء، تأكد من توفر ما يلي:
- صلاحية Administrator على خادم Windows.
- تثبيت IIS Manager على الخادم.
- ملف شهادة SSL الصادرة، ويكون غالبًا بصيغة
.cerأو.crtأو.p7bأو.pfx. - الوصول إلى نفس الخادم الذي تم إنشاء CSR منه.
- توجيه اسم النطاق إلى الخادم بشكل صحيح.
الخطوة 1: فتح IIS Manager
- سجّل الدخول إلى خادم Windows.
- افتح Server Manager.
- انتقل إلى Tools.
- اضغط على Internet Information Services (IIS) Manager.
يمكنك أيضًا فتح IIS Manager عن طريق تشغيل الأمر التالي:
inetmgr
الخطوة 2: إكمال طلب الشهادة
استخدم هذه الطريقة إذا تم إنشاء CSR من خلال IIS على نفس خادم Windows.
- من IIS Manager، اختر اسم الخادم من لوحة Connections في الجهة اليسرى.
- اضغط مرتين على Server Certificates.
- من لوحة Actions في الجهة اليمنى، اضغط على Complete Certificate Request.
- اختر ملف الشهادة الذي تم تزويدك به من جهة إصدار الشهادة.
- أدخل اسمًا تعريفيًا للشهادة، مثل:
example.com SSL
- اختر مخزن الشهادة. في أغلب الحالات، يمكن اختيار Web Hosting أو Personal.
- اضغط OK.
بعد ذلك، يجب أن تظهر الشهادة ضمن Server Certificates.
إذا لم تظهر الشهادة بشكل صحيح، أو لم تكن تحتوي على المفتاح الخاص، فقد يكون CSR قد تم إنشاؤه على خادم آخر.
الخطوة 3: استيراد شهادة بصيغة PFX بدلًا من ذلك
استخدم هذه الطريقة إذا حصلت على ملف بصيغة .pfx، أو إذا تم تصدير شهادة SSL والمفتاح الخاص من خادم آخر.
- من IIS Manager، اختر اسم الخادم.
- افتح Server Certificates.
- اضغط على Import من لوحة Actions في الجهة اليمنى.
- اختر ملف
.pfx. - أدخل كلمة مرور ملف PFX.
- اختر مخزن الشهادة.
- اضغط OK.
ملف .pfx يحتوي عادةً على شهادة SSL والمفتاح الخاص معًا. ويُستخدم غالبًا عند نقل شهادة من خادم Windows إلى خادم آخر.
الخطوة 4: ربط شهادة SSL بالموقع
بعد تثبيت الشهادة، يجب ربطها بالموقع الصحيح داخل IIS.
- من IIS Manager، قم بتوسيع قسم Sites.
- اختر الموقع الذي تريد تأمينه.
- اضغط على Bindings من لوحة Actions في الجهة اليمنى.
- اضغط Add.
أدخل البيانات التالية:
| الحقل | القيمة |
|---|---|
| Type | https |
| IP address | All Unassigned أو عنوان IP محدد للخادم |
| Port | 443 |
| Host name | اسم النطاق، مثل example.com |
| SSL certificate | اختر شهادة SSL التي تم تثبيتها |
- اضغط OK.
- اضغط Close.
الخطوة 5: إعادة تشغيل الموقع
بعد ربط الشهادة:
- اختر الموقع من IIS Manager.
- اضغط على Restart من لوحة Actions في الجهة اليمنى.
يمكنك أيضًا إعادة تشغيل IIS من خلال Command Prompt بصلاحية Administrator باستخدام الأمر التالي:
iisreset
الخطوة 6: اختبار شهادة SSL
افتح موقعك من المتصفح باستخدام HTTPS:
https://example.com
تأكد من الآتي:
- الموقع يفتح بدون تحذيرات متعلقة بالشهادة.
- المتصفح يعرض علامة القفل الآمن.
- الشهادة صادرة لاسم النطاق الصحيح.
- الشهادة غير منتهية.
- سلسلة الشهادة Certificate Chain صالحة.
يمكنك أيضًا استخدام أداة فحص SSL خارجية للتأكد من تثبيت الشهادة والسلسلة الوسيطة بشكل صحيح.
اختياري: تحويل HTTP إلى HTTPS
تثبيت شهادة SSL يسمح للموقع بالعمل عبر HTTPS، ولكن قد يظل بإمكان الزوار فتح الموقع باستخدام HTTP إذا لم يتم إعداد التحويل.
لإجبار الموقع على استخدام HTTPS، يمكنك إعداد تحويل باستخدام إضافة URL Rewrite في IIS.
- اختر الموقع من IIS Manager.
- افتح URL Rewrite.
- اضغط Add Rule(s).
- اختر Blank Rule.
- استخدم النمط التالي في Match URL:
(.*)
- أضف شرطًا باستخدام:
{HTTPS}
واجعله يطابق القيمة:
off
- اجعل نوع الإجراء Redirect.
- استخدم رابط التحويل التالي:
https://{HTTP_HOST}/{R:1}
- اختر نوع التحويل Permanent (301).
- احفظ القاعدة.
بهذا يتم تحويل الزوار تلقائيًا من HTTP إلى HTTPS.
المشاكل الشائعة
الشهادة لا تظهر في IIS
تأكد من إكمال طلب الشهادة على نفس الخادم الذي تم إنشاء CSR منه.
إذا تم إنشاء CSR في مكان آخر، فقد تحتاج إلى استيراد الشهادة بصيغة .pfx بدلًا من ذلك.
الشهادة لا تحتوي على المفتاح الخاص
يحدث ذلك عادةً عندما يتم إنشاء CSR على خادم آخر، أو عندما لا يكون المفتاح الخاص متوفرًا على هذا الخادم.
لحل المشكلة، قم بتصدير الشهادة مع المفتاح الخاص من الخادم الأصلي بصيغة .pfx، ثم استوردها على الخادم الحالي.
يظهر تحذير شهادة عند فتح الموقع عبر HTTPS
تحقق من الآتي:
- الشهادة صادرة لاسم النطاق الصحيح.
- النطاق يشير إلى الخادم الصحيح.
- الشهادة غير منتهية.
- سلسلة الشهادة الكاملة مثبتة بشكل صحيح.
- تم اختيار الشهادة الصحيحة في إعدادات IIS Binding.
- الموقع يستخدم اسم المضيف الصحيح في HTTPS Binding.
الموقع لا يزال يفتح عبر HTTP
تثبيت SSL لا يعني أن الموقع سيتم تحويله تلقائيًا إلى HTTPS.
لجعل جميع الزوار يستخدمون النسخة الآمنة من الموقع، قم بإعداد تحويل من HTTP إلى HTTPS باستخدام IIS URL Rewrite أو من خلال إعدادات التطبيق الخاص بالموقع.
الشهادة تعمل على نطاق ولا تعمل على نطاق آخر
تأكد من أن شهادة SSL تشمل اسم النطاق المستخدم بالضبط.
على سبيل المثال:
- شهادة صادرة لـ
example.comقد لا تشمل تلقائيًاwww.example.com. - شهادة صادرة لـ
www.example.comقد لا تشمل تلقائيًاexample.com. - شهادة Wildcard مثل
*.example.comتشمل النطاقات الفرعية مثلmail.example.comوshop.example.com، لكنها غالبًا لا تشمل النطاق الرئيسيexample.comإلا إذا كان مضافًا بشكل منفصل.