كيفية حل خطأ ERR_SSL_PROTOCOL_ERROR؟
ERR_SSL_PROTOCOL_ERROR خطأ عام يعرضه المتصفح عندما يعجز عن إنشاء اتصال TLS آمن مع الخادم. غالبًا ما يكون السبب إعداد الخادم أو ضبطًا بسيطًا من جهة العميل. في هذا الدليل سنحلّه باستبعاد الأسباب المحتملة واحدًا تلو الآخر، من الأسرع إلى الأعمق.
1 — تحقّق من تاريخ الجهاز ووقته
تعتمد صلاحية الشهادة على التاريخ. إذا كانت ساعة الحاسوب أو الهاتف خاطئة، تفشل مصافحة TLS. اضبط التاريخ/الوقت على تلقائي (من الشبكة) وأعد تحميل الصفحة.
2 — امسح ذاكرة المتصفح وحالة SSL
قد يسبّب سجل جلسة قديم مشكلة. امسح ذاكرة التخزين المؤقت، أو جرّب في نافذة تصفح خفي، أو افتحه بمتصفح آخر. إذا حدثت المشكلة في متصفح واحد فقط، فالسبب من جهة العميل.
3 — حدّث إصدار TLS في الخادم
ترفض المتصفحات الحديثة الآن إصدارات TLS 1.0/1.1 القديمة وغير الآمنة. إذا كان خادمك يوفّر هذه فقط، يظهر الخطأ. فعّل الإصدارات الحالية في Nginx:
ssl_protocols TLSv1.2 TLSv1.3;المكافئ في Apache: SSLProtocol -all +TLSv1.2 +TLSv1.3.
4 — تحقّق من المنفذ 443 وإعداد الشهادة
تأكد من وصول طلبات HTTPS إلى كتلة server/VirtualHost الصحيحة، ومن أن مسارَي ssl_certificate وssl_certificate_key يشيران إلى الملفات الصحيحة. إذا غيّرت الإعداد، أعد تحميل الخادم (nginx -t && nginx -s reload).
5 — تحقّق من سلسلة الشهادة
قد تتحوّل السلسلة الوسيطة المفقودة (CA Bundle) إلى خطأ بروتوكول لدى بعض العملاء. في Nginx، عرّف الشهادة والسلسلة معًا باسم fullchain.pem. وإن احتجت إعادة إنشاء شهادتك، يمنحك معالج SSL المجاني جميع الملفات بما فيها fullchain.pem في حزمة ZIP واحدة.
6 — استبعد البرامج المتداخلة
تعترض بعض برامج مكافحة الفيروسات وفلاتر الشبكات المؤسسية حركة HTTPS وتسبّب خطأ بروتوكول. عطّل مؤقتًا ميزة "فحص HTTPS" وأعد المحاولة؛ إذا اختفت المشكلة فالسبب هو هذا البرنامج.
الخلاصة
ينتج ERR_SSL_PROTOCOL_ERROR عادةً عن وقت خاطئ أو إصدار TLS قديم أو إعداد خادم خاطئ. طبّق الخطوات بالترتيب. وإن كانت المشكلة في الشهادة، فأنشئ واحدة جديدة عبر معالجنا المجاني وأعد تثبيتها.