چرا سایت با HTTPS باز نمی‌شود؟ راهنمای عیب‌یابی و رفع مشکل

باز نشدن سایت با HTTPS معمولاً به این معناست که مرورگر نمی‌تواند یک ارتباط امن و معتبر با سرور برقرار کند. این مشکل ممکن است با پیام‌هایی مانند Your connection is not private، SSL_ERROR، ERR_SSL_PROTOCOL_ERROR، خطای ریدایرکت یا حتی باز نشدن کامل صفحه نمایش داده شود.

در این راهنما دلایل رایج باز نشدن سایت با HTTPS و روش‌های عیب‌یابی آن را مرحله‌به‌مرحله بررسی می‌کنیم؛ از گواهی SSL و تنظیمات هاست تا وردپرس، CDN، ریدایرکت‌ها و تنظیمات DNS.

HTTPS چیست و چرا فعال بودن آن مهم است؟

HTTPS نسخه امن HTTP است که ارتباط بین مرورگر کاربر و سرور سایت را رمزنگاری می‌کند. برای فعال شدن HTTPS، سایت باید گواهی SSL/TLS معتبر داشته باشد و سرور نیز برای پاسخ‌گویی روی پروتکل امن به‌درستی تنظیم شده باشد.

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

دلایل رایج باز نشدن سایت با HTTPS

1. گواهی SSL نصب نشده یا منقضی شده است

یکی از رایج‌ترین علت‌ها این است که SSL روی دامنه نصب نشده، منقضی شده یا برای دامنه درست صادر نشده است. برای مثال ممکن است گواهی فقط برای example.com صادر شده باشد اما سایت با www.example.com باز شود و خطای گواهی نمایش دهد.

برای بررسی این مورد، وضعیت SSL را از کنترل‌پنل هاست، پنل CDN یا ابزارهای آنلاین بررسی SSL کنترل کنید. اگر گواهی منقضی شده باشد، باید آن را تمدید یا دوباره نصب کنید.

2. نصب ناقص Certificate Chain

گاهی گواهی اصلی نصب شده اما زنجیره گواهی یا همان Intermediate Certificate به‌درستی تنظیم نشده است. در این حالت ممکن است سایت در بعضی مرورگرها باز شود اما در برخی دستگاه‌ها یا مرورگرهای دیگر خطا بدهد.

راه‌حل این است که گواهی SSL همراه با زنجیره کامل آن روی سرور نصب شود. در هاست‌های اشتراکی معمولاً این کار از بخش SSL/TLS کنترل‌پنل انجام می‌شود.

3. پورت 443 بسته است یا سرور برای HTTPS تنظیم نشده

برای اتصال HTTPS معمولاً از پورت 443 استفاده می‌شود. اگر این پورت توسط فایروال، تنظیمات سرور یا سرویس‌دهنده هاست بسته باشد، مرورگر نمی‌تواند اتصال امن برقرار کند.

در سرورهای اختصاصی و مجازی باید تنظیمات وب‌سرور مانند Apache، Nginx یا LiteSpeed و همچنین فایروال بررسی شود. در هاست اشتراکی بهتر است موضوع را از پشتیبانی هاست پیگیری کنید.

4. ریدایرکت اشتباه از HTTP به HTTPS

بعد از فعال‌سازی SSL معمولاً سایت باید از HTTP به HTTPS ریدایرکت شود. اما اگر قوانین ریدایرکت در فایل .htaccess، تنظیمات Nginx، افزونه‌های وردپرس یا CDN چندبار و ناهماهنگ تعریف شده باشند، سایت ممکن است دچار خطای Too Many Redirects شود.

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

5. تنظیم نبودن آدرس سایت در وردپرس

در سایت‌های وردپرسی، اگر آدرس‌های WordPress Address و Site Address هنوز با HTTP ثبت شده باشند، ممکن است سایت بعد از فعال‌سازی SSL به‌درستی روی HTTPS کار نکند یا کاربران بین HTTP و HTTPS جابه‌جا شوند.

برای بررسی این مورد به مسیر تنظیمات > عمومی در پیشخوان وردپرس بروید و مطمئن شوید آدرس سایت با https:// ثبت شده است. اگر به پیشخوان دسترسی ندارید، این مقادیر از طریق فایل wp-config.php یا دیتابیس نیز قابل بررسی هستند.

6. مشکل Mixed Content

Mixed Content زمانی رخ می‌دهد که صفحه با HTTPS باز می‌شود اما برخی فایل‌ها مانند تصویر، فایل CSS، JavaScript یا فونت هنوز از مسیر HTTP بارگذاری می‌شوند. این مشکل معمولاً باعث باز نشدن کامل سایت نمی‌شود، اما می‌تواند قفل امنیتی مرورگر را مخدوش کند یا باعث شود برخی فایل‌ها لود نشوند.

برای رفع آن، آدرس فایل‌ها و لینک‌های داخلی را از HTTP به HTTPS تغییر دهید. در وردپرس می‌توان این کار را با اصلاح لینک‌های دیتابیس، تنظیمات قالب، افزونه‌ها و آدرس رسانه‌ها انجام داد.

7. تنظیمات نادرست CDN یا Cloudflare

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

در این شرایط باید هم SSL سمت CDN و هم SSL سمت هاست بررسی شود. همچنین اگر ریدایرکت HTTPS هم در CDN و هم در وردپرس فعال شده باشد، احتمال ایجاد چرخه ریدایرکت وجود دارد.

8. مشکل DNS یا اتصال دامنه به سرور

اگر DNS دامنه به IP اشتباه اشاره کند یا رکوردهای دامنه به‌تازگی تغییر کرده باشند، ممکن است گواهی SSL برای سرور دیگری نمایش داده شود یا سایت با HTTPS باز نشود.

رکوردهای A، CNAME و تنظیمات مربوط به www و بدون www را بررسی کنید. همچنین در نظر داشته باشید که انتشار تغییرات DNS ممکن است مدتی زمان ببرد.

9. ناسازگاری نسخه‌های TLS یا تنظیمات امنیتی سرور

در برخی موارد، سرور از نسخه‌ها یا الگوریتم‌های قدیمی TLS استفاده می‌کند یا تنظیمات امنیتی آن با مرورگرهای جدید سازگار نیست. در نتیجه مرورگر اتصال را رد می‌کند.

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

10. فعال بودن HSTS با تنظیمات اشتباه

HSTS به مرورگر اعلام می‌کند که سایت همیشه باید با HTTPS باز شود. اگر این قابلیت فعال شده باشد اما SSL سایت مشکل داشته باشد، کاربر حتی با وارد کردن HTTP نیز ممکن است نتواند سایت را باز کند.

پیش از فعال‌سازی HSTS باید مطمئن شوید SSL، ریدایرکت‌ها، نسخه www و بدون www و تمام زیردامنه‌های موردنیاز به‌درستی تنظیم شده‌اند.

چطور مشکل باز نشدن سایت با HTTPS را عیب‌یابی کنیم؟

برای اینکه سریع‌تر به علت اصلی برسید، مراحل زیر را به‌ترتیب بررسی کنید:

  1. خطای دقیق مرورگر را یادداشت کنید: نوع پیام خطا می‌تواند مسیر عیب‌یابی را مشخص کند.
  2. اعتبار SSL را بررسی کنید: تاریخ انقضا، دامنه صادرشده و زنجیره گواهی را کنترل کنید.
  3. سایت را با www و بدون www تست کنید: هر دو نسخه باید وضعیت مشخص و هماهنگ داشته باشند.
  4. HTTP و HTTPS را جداگانه بررسی کنید: ببینید مشکل فقط روی HTTPS است یا کل سایت باز نمی‌شود.
  5. ریدایرکت‌ها را کنترل کنید: قوانین تکراری در وردپرس، هاست، CDN و فایل‌های تنظیمات را حذف کنید.
  6. تنظیمات وردپرس را بررسی کنید: آدرس سایت، افزونه‌های SSL، افزونه‌های کش و لینک‌های داخلی را کنترل کنید.
  7. کش مرورگر و CDN را پاک کنید: گاهی تنظیمات قبلی باعث نمایش خطای قدیمی می‌شود.
  8. از پشتیبانی هاست کمک بگیرید: اگر مشکل مربوط به پورت 443، وب‌سرور یا نصب SSL است، پشتیبانی هاست باید آن را بررسی کند.

رفع مشکل HTTPS در وردپرس

اگر سایت شما وردپرسی است، بعد از نصب SSL این موارد را بررسی کنید:

  • آدرس وردپرس و آدرس سایت در تنظیمات عمومی با https ثبت شده باشد.
  • ریدایرکت HTTP به HTTPS فقط از یک مسیر انجام شود.
  • افزونه‌های SSL با افزونه‌های کش یا CDN تداخل نداشته باشند.
  • لینک تصاویر، فایل‌ها و منابع داخلی از HTTP به HTTPS اصلاح شده باشد.
  • فایل .htaccess یا تنظیمات Nginx شامل قانون‌های تکراری یا اشتباه نباشد.

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

تفاوت خطای SSL با مشکل Mixed Content

مورد خطای SSL Mixed Content
محل مشکل در برقراری اتصال امن بین مرورگر و سرور در بارگذاری منابع HTTP داخل صفحه HTTPS
اثر روی سایت ممکن است مانع باز شدن سایت شود معمولاً سایت باز می‌شود اما بخشی از منابع مشکل دارد
راه‌حل رایج نصب یا اصلاح گواهی SSL و تنظیمات سرور اصلاح لینک‌ها و منابع داخلی به HTTPS

چه زمانی باید از متخصص کمک بگیریم؟

اگر SSL معتبر است اما سایت همچنان با HTTPS باز نمی‌شود، یا خطاهایی مانند ریدایرکت بی‌نهایت، ناسازگاری TLS، مشکل CDN یا خطاهای سمت سرور مشاهده می‌کنید، بهتر است بررسی فنی دقیق‌تری انجام شود. در چنین شرایطی دسترسی به لاگ سرور، تنظیمات وب‌سرور و وضعیت DNS برای تشخیص درست ضروری است.

جمع‌بندی

باز نشدن سایت با HTTPS می‌تواند از نصب نبودن یا انقضای SSL، تنظیمات اشتباه ریدایرکت، بسته بودن پورت 443، مشکل DNS، تنظیمات CDN، Mixed Content یا خطاهای وردپرس ناشی شود. بهترین روش این است که از بررسی گواهی SSL شروع کنید، سپس ریدایرکت‌ها، تنظیمات وردپرس، DNS و وضعیت سرور را مرحله‌به‌مرحله کنترل کنید.

با عیب‌یابی منظم، معمولاً می‌توان علت اصلی را سریع‌تر پیدا کرد و سایت را بدون ایجاد اختلال برای کاربران به نسخه امن HTTPS منتقل کرد.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا