اگر از وردپرس برای راه اندازی وب سایت خود استفاده کردید، احتمالاً با خطای عدم برقراری ارتباط امن مواجه شدهاید؛ خطایی که معمولاً هنگام نصب یا بروزرسانی افزونهها، قالبها یا هسته وردپرس ظاهر میشود و میتواند فرآیند مدیریت سایت را مختل کند. این مشکل نهتنها باعث نگرانی مدیران سایت میشود، بلکه در صورت برطرف نشدن، ممکن است عملکرد و امنیت وبسایت را نیز تحت تأثیر قرار دهد.
خطای عدم برقراری ارتباط امن معمولاً به دلیل اختلال در ارتباط SSL، تنظیمات نادرست سرور، محدودیتهای هاستینگ، یا مشکلات مربوط به فایروال و DNS رخ میدهد. از آنجایی که وردپرس برای دریافت بروزرسانیها نیاز به یک اتصال امن به سرورهای WordPress.org دارد، هرگونه اختلال در این ارتباط میتواند منجر به بروز این خطا شود.
در این مقاله قصد داریم بهصورت کامل و مرحلهبهمرحله، دلایل اصلی بروز این خطا را بررسی کنیم و راهکارهای عملی برای رفع آن ارائه دهیم.
ارور عدم اتصال امن در وردپرس یا secure connection چیست؟
یکی از قابلیتهای مهم طراحی سایت وردپرس، وجود سیستم داخلی مدیریت بهروزرسانی است. این سیستم بهصورت خودکار نسخههای جدید افزونهها، قالبها و حتی هسته وردپرس را بررسی میکند و در صورت وجود آپدیت، از طریق نوتیفیکیشن به شما اطلاع میدهد. در واقع، تمام افزونهها و قالبهایی که روی سایت نصب میکنید، توسط همین سیستم بهروزرسانی خودکار پایش میشوند تا امنیت و عملکرد سایت شما همیشه در بهترین حالت باقی بماند.
اما نکته مهم اینجاست که وردپرس برای انجام این فرآیند باید به وبسایت رسمی خود یعنی wordpress.org متصل شود. در صورتیکه بهدلیل مشکلات سرور یا تنظیمات نادرست هاستینگ، این ارتباط دچار اختلال شود، وردپرس نمیتواند بهروزرسانیها را بررسی یا نصب کند. در نتیجه با خطای عدم اتصال امن (Secure Connection Error) روبهرو خواهید شد.
این خطا زمانی رخ میدهد که سایت وردپرسی شما قادر نیست یک ارتباط امن (SSL) و معتبر با سرورهای wordpress.org برقرار کند. در چنین شرایطی، سیستم بهروزرسانی وردپرس ارتباط را ناامن تشخیص داده و فرآیند چک کردن یا نصب آپدیتها متوقف میشود. به همین دلیل، این ارور یکی از رایجترین مشکلات فنی در وردپرس است که معمولاً ریشه در محدودیتها و اختلالات هاستینگ دارد.
نحوه رفع خطای اتصال امن در وردپرس
برای رفع خطای اتصال امن در وردپرس، چند عامل اصلی را باید بررسی کنید. این خطا معمولاً به دلیل مشکلات هاستینگ، تنظیمات نادرست سرورهای مجازی یا فعال نبودن برخی افزونههای PHP در لوکال هاست بهوجود میآید. با بررسی موارد زیر میتوانید بهسادگی علت خطا را پیدا کرده و برطرف کنید.
1. مسائل مرتبط با هاستینگ و سرور
یکی از شایعترین دلایل بروز خطای اتصال امن، اختلالات سرور میزبان است. اگر هاست شما با حملات DDOS مواجه شود یا دچار اختلال موقت باشد، ارتباط سایت با wordpress.org قطع شده و این خطا نمایش داده میشود. در چنین شرایطی کافی است چند دقیقه صبر کرده و دوباره امتحان کنید. اما اگر مشکل همچنان پابرجا بود، بهترین کار تماس با پشتیبانی هاستینگ است تا بررسی کنند اختلال از سمت سرور وجود دارد یا خیر. در صورت وجود مشکل در زیرساخت، وظیفه شرکت میزبانی است که آن را برطرف کند.
2. مسائل اتصال سرور مجازی به اینترنت (VPS)
اگر از سرور مجازی یا ابری استفاده میکنید، ممکن است به دلیل مشکلات DNS یا تنظیمات اشتباه در فایل hosts، ارتباط سرور شما با wordpress.org قطع شود. در این حالت باید از طریق SSH به سرور متصل شوید. SSH یک پروتکل امن برای مدیریت سرور با خط فرمان است و کاربران ویندوز میتوانند از برنامه Putty و کاربران مک و لینوکس از ترمینال استفاده کنند. پس از اتصال، با دستور
sudo nano /etc/hosts
فایل hosts را باز کنید و خط زیر را به انتهای آن اضافه کنید:
66.155.40.202 api.wordpress.org
با ذخیره تغییرات، سرور شما دوباره قادر خواهد بود به وردپرس متصل شود. این روش یکی از روشهای رایج و کاربردی رفع این خطاست.
3. رفع خطای عدم برقراری ارتباط امن در وردپرس در لوکال هاست
اگر وردپرس را روی لوکال هاست اجرا کردهاید، احتمال زیادی وجود دارد که افزونه CURL در PHP فعال نباشد. CURL یکی از ابزارهای ضروری برای ارتباط وردپرس با سرورهای خارجی است و نبود آن باعث میشود وردپرس نتواند هیچ آپدیتی را دریافت کند. برای رفع مشکل کافی است فایل php.ini را باز کرده و خط مربوط به CURL را پیدا کنید. در ویندوز باید خط
;extension=php_curl.dll
و در مک خط
;extension=curl.so
را پیدا کنید و علامت ; ابتدای آن را حذف کنید. سپس تغییرات را ذخیره کرده و Apache را یکبار خاموش و روشن نمایید.
بعد از فعالسازی CURL، لازم است بررسی کنید که فایروال سیستم ارتباطات خروجی را مسدود نکرده باشد. ممکن است فایروال ویندوز مانع اتصال XAMPP یا MAMP به اینترنت شود. تنها کافی است از بخش تنظیمات فایروال، دسترسی برنامه Apache را روی Allow قرار دهید و سپس Apache را ریستارت کنید.