حل أخطاء شهادة ⁦SSL⁩: اتصالك ليس خاصًا و ⁦NET::ERR_CERT⁩

رسالة «اتصالك ليس خاصًا» تعني أن المتصفح لا يثق بشهادة الموقع: منتهية، أو لنطاق آخر، أو غير موثوقة. آخر الرسالة يحدد السبب، وأغلبها يُحل بإصدار شهادة مجانية من ⁦Let's Encrypt⁩.

آخر تحديث:

ماذا يعني رمز الخطأ؟

⁦NET::ERR_CERT_DATE_INVALID⁩: الشهادة منتهية، أو تاريخ جهاز الزائر خاطئ. تأكد من التاريخ أولًا إن ظهرت عندك وحدك.

⁦NET::ERR_CERT_COMMON_NAME_INVALID⁩: الشهادة لا تشمل هذا الاسم، مثل شهادة لـ ⁦example.com⁩ تُفتح عبر ⁦www.example.com⁩. أعد إصدارها لتشمل الاسمين.

⁦NET::ERR_CERT_AUTHORITY_INVALID⁩: الشهادة موقعة ذاتيًا أو ينقصها الملف الوسيط. استخدم شهادة من جهة موثوقة.

⁦ERR_TOO_MANY_REDIRECTS⁩: غالبًا تحويل متكرر بين ⁦HTTP⁩ و ⁦HTTPS⁩، خصوصًا مع ⁦Cloudflare⁩. اضبط وضع ⁦SSL⁩ فيه على ⁦Full⁩ وليس ⁦Flexible⁩ إن كانت شهادة خادمك تعمل.

افحص الشهادة الحالية

هذا الأمر يعرض اسم الشهادة وتاريخي بدايتها ونهايتها كما يراها الزوار.

⁦terminal⁩
$ ⁦echo⁩ | ⁦openssl s⁩_⁦client -connect example.com⁩:⁦443 -servername example.com 2⁩>/⁦dev/null⁩ | ⁦openssl x509 -noout -subject -dates⁩

إصدار شهادة مجانية على خادم لينكس

أداة ⁦certbot⁩ تصدر شهادة ⁦Let's Encrypt⁩ وتضبط ⁦Nginx⁩ أو ⁦Apache⁩ وتجددها تلقائيًا. يجب أن يشير النطاق إلى خادمك وأن يكون المنفذ ⁦80⁩ مفتوحًا.

⁦console⁩
$ ⁦sudo apt-get install certbot python3-certbot-nginx⁩
$ ⁦sudo certbot --nginx -d example.com -d www.example.com⁩
$ ⁦sudo certbot renew --dry-run⁩

على الاستضافة المشتركة

في ⁦cPanel⁩ افتح ⁦SSL/TLS Status⁩ وشغّل ⁦Run AutoSSL⁩. وفي ⁦Plesk⁩ افتح ⁦SSL/TLS Certificates⁩ لنطاقك واختر ⁦Let's Encrypt⁩. ويفشل الإصدار إذا كان النطاق لا يشير إلى الاستضافة بعد.

القفل ناقص مع أن الشهادة سليمة

هذا محتوى مختلط: الصفحة تعمل عبر ⁦HTTPS⁩ لكنها تحمّل صورًا أو ملفات عبر ⁦HTTP⁩. افتح أدوات المطور (⁦F12⁩) وستجد الملفات في ⁦Console⁩، ثم غيّر روابطها إلى ⁦https⁩. وفي ووردبريس غيّر عنوان الموقع في الإعدادات العامة إلى ⁦https⁩.

هل كانت الصفحة مفيدة؟