لماذا يفشل تجديد شهادة SSL؟
تُعد أخطاء تجديد شهادة SSL من أكثر اللحظات توترًا لأصحاب المواقع. فعند انتهاء صلاحية الشهادة تمنع المتصفحات الوصول إلى موقعك ويظهر لجميع زوارك تحذير "اتصالك ليس خاصًا". في هذا المقال نتناول الأخطاء الشائعة التي تظهر أثناء التجديد وحلولها.
منذ 15 مارس 2026 أصبحت مدة صلاحية شهادة SSL محددة بـ 200 يوم كحد أقصى (وكانت قبل ذلك 398 يومًا). ولذلك فإن التجديد مهمة حساسة تتكرر أكثر من مرة في العام. ووفق قرار CA/Browser Forum ستنخفض هذه المدة إلى 100 يوم في 15 مارس 2027 ثم إلى 47 يومًا في 15 مارس 2029 — فأتمتة التجديد لم تعد ترفًا بل ضرورة.
1. أخطاء DCV (Domain Control Validation)
المشكلة
عند تجديد الشهادة يجب إجراء التحقق من النطاق (DCV) من جديد. وإذا فشلت إحدى طرق التحقق عبر البريد الإلكتروني أو DNS أو HTTP، فلن يمكن إصدار الشهادة.
أخطاء DCV الشائعة
- انتشار سجل DNS TXT: سجل DNS الجديد لم ينتشر بعد إلى جميع خوادم الأسماء (قد يستغرق حتى 48 ساعة)
- تعذّر الوصول إلى ملف التحقق عبر HTTP: المسار
.well-known/pki-validation/محجوب بسبب الجدار الناري أو قواعد إعادة التوجيه - التحقق عبر البريد الإلكتروني: لا يمكن الوصول إلى العناوين admin@ و webmaster@ و postmaster@، أو أن الرسالة يحجبها فلتر البريد المزعج
- عدم توافق سجل CAA: سجل CAA في DNS لا يسمح لجهة إصدار الشهادات
- خطأ في التحقق من DNSSEC: تواقيع DNSSEC غير محدّثة ولا يمكن التحقق من استعلامات DNS
الحل
- لطريقة DNS: أضف سجل TXT وتحقق من انتشاره عبر
nslookup -q=TXT _dnsauth.domain.com - لطريقة HTTP: اختبر أن ملف التحقق متاح بشكل مباشر. وراجع عمليات إعادة التوجيه وقواعد WAF
- فحص CAA: راجع السجلات الحالية عبر
dig CAA domain.comوأضف جهة الإصدار (CA) الخاصة بك عند الحاجة - فضّل التحقق عبر DNS CNAME إن أمكن — يُعدّ مرة واحدة ويعمل تلقائيًا في جميع عمليات التجديد
2. أخطاء CSR (Certificate Signing Request)
المشكلة
إنشاء CSR جديد عند التجديد موصى به من الناحية الأمنية. لكن قد تقع أخطاء أثناء إنشاء الـ CSR.
أخطاء CSR الشائعة
- عدم تطابق اسم النطاق: الاسم الشائع (CN) في الـ CSR يختلف عن النطاق الذي ستُستخدم عليه الشهادة
- طول مفتاح ضعيف: مفاتيح RSA بطول 1024-bit لم تعد مقبولة؛ الحد الأدنى المطلوب 2048-bit
- فقدان المفتاح الخاص: ملف المفتاح الخاص فُقد أو حُذف بعد إنشاء الـ CSR
- خوارزمية غير مناسبة: بعض الأنظمة القديمة قد لا تدعم ECDSA
الحل
- أدخل اسم نطاقك بشكل صحيح وكامل عند إنشاء الـ CSR
- استخدم مفتاح RSA بطول 2048-bit أو ECDSA بطول 256-bit على الأقل
- احتفظ بنسخة احتياطية من المفتاح الخاص في مكان آمن
- فكّ ترميز الـ CSR وتحقق من بياناته:
openssl req -in csr.pem -noout -text
3. أخطاء سلسلة الشهادات (Chain)
المشكلة
من أكثر المشكلات شيوعًا بعد التجديد أن تكون الشهادات الوسيطة (intermediate certificates) ناقصة أو محمّلة بترتيب خاطئ عند تثبيت الشهادة الجديدة. فقد تكون الشهادة جُدّدت بنجاح لكنها لم تُثبَّت بشكل صحيح.
الأعراض
- الموقع يعمل على متصفحات سطح المكتب لكنه يُظهر خطأ على الأجهزة المحمولة
- لا مشكلة في Chrome لكن يظهر تحذير في Firefox
- طلبات API تفشل عبر curl:
SSL certificate problem: unable to get local issuer certificate
الحل
- نزّل ملف CA Bundle المحدَّث من مزوّد الشهادة
- أنشئ سلسلة الشهادات بالترتيب الصحيح:
cat site.crt intermediate.crt > fullchain.crt - تحقق من السلسلة عبر أداة SSL Checker على الإنترنت
- Nginx:
ssl_certificate fullchain.crt;| Apache:SSLCertificateChainFile intermediate.crt
4. مشكلات التجديد التلقائي
أخطاء Let's Encrypt / Certbot
- المنفذ 80 مغلق: يجب أن يكون المنفذ 80 مفتوحًا لتحدي HTTP-01
- تحديد المعدل (Rate limiting): حد أقصى 5 شهادات في الأسبوع (لمجموعة النطاقات نفسها)
- مشكلة الوصول إلى webroot: لا يملك Certbot صلاحية الكتابة في المجلد
.well-known/acme-challenge/ - تعطّل تكامل DNS API: مفتاح API لدى Cloudflare/Route53 غير صالح أو تغيّرت صلاحياته
التجديد التلقائي للشهادات التجارية
- بروتوكول ACME: جهات إصدار مثل Sectigo و DigiCert تدعم ACME — ويمكن تجديد الشهادات التجارية تلقائيًا عبر Certbot أيضًا
- تكاملات لوحات التحكم: لوحات الاستضافة مثل cPanel و Plesk توفّر وحدات للتجديد التلقائي
- التجديد عبر API: يمكنك كتابة سكربت الأتمتة الخاص بك باستخدام API مزوّد الشهادة
5. حالات خاصة في تجديد Wildcard و Multi-Domain
تجديد Wildcard SSL
عند تجديد شهادات Wildcard يجب استخدام تحدي DNS-01 حصرًا (التحقق عبر HTTP غير صالح مع Wildcard). وإذا لم يتوفر تكامل مع DNS API فسيلزم تحديث سجل TXT يدويًا عند كل تجديد.
تجديد Multi-Domain (SAN) SSL
في شهادات SAN يجب أن تجتاز جميع أسماء النطاقات تحقق DCV عند التجديد. وإذا تعذّر التحقق من نطاق واحد فقط فلن تصدر الشهادة لأي نطاق. لذا احذف النطاقات التي لم تعد مستخدمة من قائمة SAN قبل التجديد.
خطة التدخل العاجل عند فشل التجديد
- تحقق من مدة صلاحية الشهادة الحالية: متى تنتهي بالضبط؟
- حل مؤقت: إذا انتهت الصلاحية، اشترِ شهادة DV SSL سريعة (تصدر خلال دقائق)
- حدّد السبب الجذري: هل المشكلة في DCV أم CSR أم السلسلة أم إعدادات الخادم؟
- جدّد الشهادة الأساسية: بعد حل المشكلة جدّد شهادتك الأصلية
- فعّل الأتمتة: فعّل التجديد التلقائي وتنبيهات انتهاء الصلاحية حتى لا تتكرر المشكلة نفسها
قائمة التحقق لمتابعة صلاحية شهادة SSL
| المهمة | التكرار | الأداة |
|---|---|---|
| فحص تاريخ انتهاء الشهادة | أسبوعيًا | SSL Checker, Uptime Robot |
| اختبار التجديد التلقائي | شهريًا | Certbot --dry-run |
| التحقق من سلسلة الشهادات | عند كل تجديد | SSL Labs, OpenSSL |
| فحص سجل CAA | كل 3 أشهر | dig CAA domain.com |
| اختبار إعدادات TLS | عند كل تجديد | Mozilla Observatory |
الخلاصة
يمكن تفادي أخطاء تجديد شهادة SSL إلى حد كبير باتباع نهج استباقي. إعداد آلية تجديد تلقائي، واختيار طريقة DCV الصحيحة، وتحميل سلسلة الشهادات كاملة — هذه الخطوات الثلاث تحل معظم مشكلات التجديد. ومع انخفاض مدة الشهادة إلى 47 يومًا في عام 2029، ستصبح الأتمتة ضرورة لا خيارًا.