انواع خطاهای SSL و روش برطرف کردن هرکدام، یکی از پرتکرارترین چالش‌هایی است که مدیران سایت‌ها و توسعه‌دهندگان وب با آن روبرو می‌شوند و می‌تواند به قطعی موقت یا طولانی سایت منجر شود.

خطاهای SSL، در چند دسته اصلی قرار می‌گیرند: خطاهای گواهی، خطاهای پیکربندی، خطاهای مرتبط با محتوای ترکیبی و خطاهای شبکه.

هر خطا، ریشه مشخصی دارد و برطرف کردن آن، نیازمند شناسایی دقیق علت است.

در این مقاله، چارچوبی عملی برای شناسایی و برطرف کردن انواع خطاهای SSL ارائه می‌شود.

در پروژه‌های متعدد وردپرسی، دیده‌ام که هر خطای SSL، پیام خاص خود را دارد و شناسایی دقیق آن، کلید رفع سریع است.

چرا خطاهای SSL رخ می‌دهند؟

  • گواهی SSL منقضی یا نامعتبر.
  • عدم تطابق دامنه گواهی با دامنه درخواست.
  • نصب ناقص گواهی.
  • زنجیره گواهی ناقص.
  • تنظیمات نادرست سرور.
  • محتوای ترکیبی.
  • حلقه ریدایرکت.
  • مسدودسازی CDN یا Proxy.
  • پروتکل‌های قدیمی TLS.
  • مشکلات شبکه.

خطاهای گواهی

خطاهای گواهی، شایع‌ترین دسته خطاهای SSL هستند که مستقیماً به گواهی و اعتبار آن مرتبط می‌شوند.

گواهی منقضی

پیام خطا

NET::ERR_CERT_DATE_INVALID

علت

تاریخ انقضای گواهی گذشته است.

راهکار

  • تمدید سریع گواهی.
  • فعال‌سازی تمدید خودکار.
  • پایش مستمر تاریخ انقضا.
  • هشدار پیش از انقضا.

برای درک عمیق‌تر، مقاله بررسی تاریخ انقضا و اعتبار SSL سایت را مطالعه کنید.

گواهی هنوز معتبر نیست

پیام خطا

NET::ERR_CERT_DATE_INVALID با تاریخ شروع در آینده

علت

تاریخ شروع اعتبار گواهی در آینده است یا ساعت سیستم نادرست تنظیم شده.

راهکار

  • بررسی ساعت سرور و کاربر.
  • هم‌راستاسازی زمان با NTP.
  • دریافت گواهی جدید.

عدم تطابق دامنه

پیام خطا

NET::ERR_CERT_COMMON_NAME_INVALID

علت

گواهی برای دامنه‌ای متفاوت از دامنه درخواست صادر شده است.

راهکار

  • دریافت گواهی برای دامنه صحیح.
  • افزودن www و non-www به SAN.
  • استفاده از Wildcard برای زیر‌دامنه‌ها.
  • بررسی CN و SAN در گواهی.

گواهی نامعتبر یا Self-Signed

پیام خطا

NET::ERR_CERT_AUTHORITY_INVALID

علت

گواهی توسط CA معتبر صادر نشده یا خودامضا است.

راهکار

  • استفاده از گواهی از CA معتبر.
  • پرهیز از Self-Signed در تولید.
  • در محیط لوکال، استفاده از mkcert.

زنجیره گواهی ناقص

پیام خطا

NET::ERR_CERT_INVALID

علت

زنجیره گواهی کامل نیست و گواهی میانی نصب نشده است.

راهکار

  • بارگذاری CA Bundle کامل.
  • بررسی ترتیب: Server → Intermediate → Root.
  • تأیید در SSL Labs.

برای درک عمیق‌تر، مقاله بررسی معتبر بودن و نصب درست گواهی SSL را مطالعه کنید.

گواهی لغو شده

پیام خطا

NET::ERR_CERT_REVOKED

علت

گواهی توسط CA لغو شده است.

راهکار

  • دریافت گواهی جدید.
  • بررسی دلیل لغو.
  • پرهیز از استفاده از گواهی‌های مشکوک.

خطاهای پیکربندی

این دسته خطاها، به تنظیمات نادرست سرور یا سایت مرتبط می‌شوند.

محتوای ترکیبی

پیام خطا

Mixed Content: The page at '...' was loaded over HTTPS, but requested an insecure resource '...'

علت

بارگذاری منابع HTTP در صفحه HTTPS.

راهکار

  • جستجو و جایگزینی URLهای HTTP در دیتابیس.
  • بررسی قالب و افزونه‌ها.
  • استفاده از Content-Security-Policy.

برای درک عمیق‌تر، مقاله چرا بعد از SSL بعضی فایل‌ها با HTTP باز می‌شوند؟ را مطالعه کنید.

حلقه ریدایرکت

پیام خطا

ERR_TOO_MANY_REDIRECTS

علت

تنظیمات متناقض ریدایرکت در .htaccess، wp-config.php یا CDN.

راهکار

  • بررسی حالت SSL در CDN (Full Strict).
  • حذف ریدایرکت‌های تکراری.
  • یکسان‌سازی URL در wp-config.php.
  • پاک‌سازی کش.

برای درک عمیق‌تر، مقاله چرا ریدایرکت HTTPS در .htaccess کار نمی‌کند و اصلاح آن را مطالعه کنید.

خطاهای پروتکل TLS

پیام خطا

ERR_SSL_PROTOCOL_ERROR
ERR_SSL_VERSION_OR_CIPHER_MISMATCH

علت

ناسازگاری در پروتکل TLS یا الگوریتم رمزنگاری.

راهکار

  • فعال‌سازی TLS 1.2 و 1.3.
  • غیرفعال‌سازی SSL 2.0، SSL 3.0، TLS 1.0 و TLS 1.1.
  • بررسی Cipher Suites.
  • به‌روزرسانی سرور.

خطاهای HSTS

پیام خطا

NET::ERR_CERT_AUTHORITY_INVALID روی دامنه‌های HSTS

علت

سایت در لیست HSTS قرار گرفته و گواهی نامعتبر است.

راهکار

  • رفع مشکل گواهی در اسرع وقت.
  • در صورت نیاز، حذف دامنه از لیست HSTS مرورگر.
  • پیش از فعال‌سازی HSTS، از پایداری HTTPS مطمئن شوید.

خطاهای شبکه

  • ERR_CONNECTION_REFUSED: اتصال به سرور برقرار نشد.
  • ERR_CONNECTION_TIMED_OUT: زمان اتصال به پایان رسید.
  • ERR_SSL_BAD_RECORD_MAC_ALERT: خطای در تراکنش SSL.
  • ERR_SSL_DECRYPT_ERROR_ALERT: خطا در رمزگشایی.
  • ERR_SSL_UNSAFE_NEGOTIATION: مذاکره ناامن.

راهکار کلی

  • بررسی اتصال شبکه.
  • بررسی فایروال و پراکسی.
  • بررسی سرور و پورت.
  • بررسی VPN و DNS.

خطاهای مخصوص مرورگر

Chrome

  • NET::ERR_CERT_*
  • ERR_SSL_*
  • ERR_CONNECTION_*

Firefox

  • SEC_ERROR_*
  • SSL_ERROR_*
  • MOZILLA_PKIX_ERROR_*

Safari

  • "This Connection Is Not Private"
  • پیام‌های امنیتی مشابه

راهکار کلی

  • پاک‌سازی کش مرورگر.
  • تست در حالت Incognito.
  • تست با مرورگرهای مختلف.

رویکرد عیب‌یابی

  1. ثبت پیام خطا.
  2. تست در مرورگرهای مختلف.
  3. بررسی گواهی با OpenSSL.
  4. بررسی SSL Labs.
  5. بررسی محتوای ترکیبی.
  6. بررسی تنظیمات سرور.
  7. بررسی CDN.
  8. مشاوره با پشتیبانی هاست.

رویکردهای توصیه‌شده

  • پایش مستمر انقضا.
  • استفاده از CA معتبر.
  • فعال‌سازی TLS 1.3.
  • رفع محتوای ترکیبی.
  • پیکربندی صحیح CDN.
  • تست دوره‌ای با SSL Labs.
  • مستندسازی خطاها و راهکارها.
«هر خطای SSL، یک پیام مشخص دارد؛ یادگیری خواندن این پیام‌ها، نیمی از عیب‌یابی است.»

اشتباهات رایج

اشتباهاثر عملیاتی
نادیده گرفتن پیام خطاعدم تشخیص ریشه
نبود پایش انقضاانقضای ناگهانی
استفاده از Self-Signed در تولیدخطای مرورگر
نادیده گرفتن محتوای ترکیبیخطای امنیتی
نبود ریدایرکت 301عدم انتقال اعتبار
نادیده گرفتن CDNحلقه ریدایرکت
نبود تست پس از تغییراتخطاهای پنهان
عدم بررسی زنجیرهخطا در برخی مرورگرها
نبود مستندسازیسردرگمی در آینده
عدم آموزش تیماستفاده نادرست

پرسش‌های پرتکرار

چرا مرورگر خطای SSL نمایش می‌دهد؟

دلایل متعدد: گواهی منقضی، عدم تطابق دامنه، گواهی نامعتبر، محتوای ترکیبی یا تنظیمات نادرست سرور.

چگونه خطای SSL را رفع کنم؟

با شناسایی دقیق پیام خطا، بررسی گواهی، بررسی تنظیمات سرور و پاک‌سازی کش.

تفاوت گواهی منقضی و نامعتبر چیست؟

گواهی منقضی از نظر تاریخ اعتبار گذشته است. گواهی نامعتبر توسط CA معتبر صادر نشده یا Self-Signed است.

چگونه خطای Mixed Content را رفع کنم؟

با جستجو و جایگزینی URLهای HTTP در دیتابیس و بررسی قالب و افزونه‌ها.

چگونه حلقه ریدایرکت را رفع کنم؟

با بررسی همه لایه‌ها (htaccess، wp-config، CDN) و حذف قواعد تکراری.

آیا خطای SSL بر سئو اثر دارد؟

بله، به‌طور مستقیم. مرورگرها سایت‌های با خطای SSL را مسدود یا هشدار می‌دهند.

آیا می‌توانم موقتاً خطای SSL را نادیده بگیرم؟

در محیط آزمایشگاهی بله، اما در تولید به هیچ وجه.

چگونه از بروز خطای SSL پیشگیری کنم؟

با پایش مستمر، تمدید خودکار، پیکربندی صحیح و تست دوره‌ای.

پایان‌بندی

خطاهای SSL، پیام‌های مشخصی دارند که هر یک، ریشه و راهکار خاص خود را می‌طلبد. با شناسایی دقیق و رویکردی سیستماتیک، می‌توان این خطاها را به‌سرعت برطرف کرد.

از منظر مهندسی سطح ارشد، سه اصل در برطرف کردن خطاهای SSL تعیین‌کننده است: ثبت و تحلیل دقیق پیام خطا، بررسی همه لایه‌ها (گواهی، سرور، دیتابیس، CDN)، و پایش مستمر برای پیشگیری.

برای درک عمیق‌تر، مقاله چرا مرورگر خطای SSL نمایش می‌دهد و پیدا کردن علت و مقاله بررسی معتبر بودن و نصب درست گواهی SSL را مطالعه کنید.

اگر در پروژه‌های خود تجربه‌ای از خطاهای SSL داشته‌اید، تجربه‌تان را در دیدگاه‌ها بنویسید. 🔒