حل مشکل cURL error 28: SSL connection timeout در وردپرس
حل مشکل cURL error 28: SSL connection timeout در وردپرس از طریق غیرفعال کردن فایرووال و برخی از افزونهها امکانپذیر است. خطای cURL 28 یا خطای اتمام زمان اتصال زمانی بهوجود میآید که سایت در تکمیل درخواست API زمان زیادی صرف کند. همین امر، باعث کند شدن سرعت سایت و پیشخوان وردپرس میشود. زمانی که خطای cURL 28 ایجاد میشود، پیشخوان، قالبها و افزونههای وب سایت به علت عدم ارتباط با سرورهای خارج از کشور و مخزن وردپرس بهدرستی کار نمیکنند.
cURL یک نرمافزار ارسال و دریافت درخواست داده به وسیلهURL است. این نرمافزار برای پاسخگویی به درخواستهایAPI استفاده میشود. اگر پیکربندیcURL بهدرستی انجام نشده باشد، سایت برای پاسخ به درخواستها دچار مشکل میشود. در این شرایط مدیر سایت باید اقدامات لازم را برای رفع این مشکل انجام دهد، چرا که وجود خطای cURL 28 مدیریت سایت را غیر ممکن میسازد.
cURL وردپرس چیست؟
قبل از اینکه با راهکارهای لازم برای حل مشکل cURL error 28: SSL connection timeout در وردپرس آشنا شوید، بهتر است ابتدا در موردcURL توضیح دهیم. کلاینت URL که در وردپرس به عنوانcURL شناخته میشود، یک ابزار خط فرمان است که اطلاعات را از طریق url به سرور و قسمتهای دیگر منتقل میکند. دلیل استفاده وردپرس ازcURL برای مدیریت درخواستهایAPI است.
به علاوهcURL به وب سایت کمک میکند تا سرور به پایگاه داده دسترسی داشته و دادهها به شکل صحیح انتقال یابند. مخزن یا کتابخانهcURL در عملکرد درست وردپرس نقش مهمی دارد. در آموزش وردپرس به این نکته اشاره میشود که اگر کتابخانهcURL به درستی ایجاد نشود، ممکن است وب سایت به شکل صحیح کار نکند.
برای انتقال دادهها به سرور مدت زمان مشخصی نیاز است. اگر زمان پردازش اطلاعات و پاسخ به درخواست آنها بیش از حد طول بکشد، “خطای: cURL 28 زمان اتصال تمام شد” نمایش داده میشود. این پیام معمولاً در بخش بررسی سلامت وب سایت در داشبورد وردپرس قابل مشاهده است.
چه عواملی باعث ایجاد خطای cURL error 28: SSL connection timeout میشود؟
اگر شما بهعنوان مدیر یا صاحب وبسایت خود مایلید بدانید که خطای cURL error 28: SSL connection timeout چیست و چرا رخ میدهد؟ باید بدانید که اغلب مشکل cURL error 28: SSL connection timeout به علت عدم پاسخگویی به موقع به درخواست داده سرورها بوجود میآید.
وردپرس از REST API برای ارسال و دریافت درخواست دادهها استفاده میکند. اگر زمان هر کدام از این درخواستها به اتمام برسد، پیام «REST API encountered in error» نمایش داده میشود. با کلیک بر روی گزینه Expande، جزئیات خطا را دریافت خواهید کرد و معمولاً به شکل زیر است:
- خطای cURL 28: به این معنی که عملیات پس از X میلیثانیه با دریافت X بایت به پایان رسید (http_request_failed).
همچنین امکان دارد پیام «Your site could not complete a loopback request» را مشاهده کنید. این خطا به این معنی است که “درخواست بازگشت به وبسایت شما ناموفق بود” و نشان میدهد پیام مطابق با انتظار شما ارسال نشده است و سرور به درستی عمل نمیکند. اما در ادامه به عواملی که در ایجاد خطایcURL نقش دارند، اشاره میکنیم.
- افزونه فایروال وردپرس درخواست REST APIرا به عنوان یک فعالیت مشکوک در نظر گرفته است. در نتیجه درخواستهایی که به سمت سرور ارسال میشود را مسدود میکند.
- چنانچه سرور DNS به درستی عمل نکند، ممکن است درخواستهایHTTP درست ارسال نشود و خطای cURL timeout ایجاد شود.
- اگر سرور هاستینگ وردپرس به درستی پیکربندی نشده باشد، ممکن است برخی از درخواستها به درستی اجرا نشود یا به طور کلی متوقف شوند.
- برخی از افزونهها که به سیستم وردپرس اضافه شدهاند، ممکن است در شکلگیری مشکل cURL timeout نقش داشته باشند. چنین افزونههایی معمولاً دارای کدها و یا اسکریپتهایی هستند که در فرایند انتقال داده اختلال ایجاد میکنند.
نحوه حل مشکل cURL error 28: SSL connection timeout در وردپرس
خطای cURL error 28: SSL connection timeout در وردپرس باعث کند شدن سرعت سایت و عملکرد نامناسب در ارسال دادهها میشود. اما سوالی که وجود دارد این است چگونه میتوان این خطا را در وردپرس برطرف کرد؟ و چه راهکارهایی برای جلوگیری از وقوع این خطا در آینده وجود دارد؟ در ادامه یک سری راهکار ارائه کردهایم که میتواند به حل مشکل cURL error 28: SSL connection timeout در وردپرس کمک کند.
فایروال وردپرس را موقتاً غیر فعال کنید
از بهترین راهها برای حل مشکل cURL error 28: SSL connection timeout در وردپرس این است که فایروال وردپرس یا هرگونه افزونه امنیتی را به صورت موقت غیر فعال کنید. در ادامه به صفحه گزارش سلامت وب سایت مراجعه کنید تا ببینید آیا مشکل حل شده یا خیر. اگر خطایcURL 28 رفع شده باشد، باید لاگهای فایروال را بررسی کنید تا ببینید کدام درخواستهای API مسدود شدهاند. با این روش میتوانید متوجه مشکل شوید و تنظیمات را به شکل دیگری تغییر دهید.
- ورود به داشبورد وردپرس
- غیرفعال کردن پلاگین فایروال
- پلاگین فایروال میتواند یکی از موارد زیر باشد (مثل Wordfence، Sucuri، iThemes Security):
- در داشبورد، به بخش “افزونهها” (Plugins) بروید.
- افزونه فایروال خود را پیدا کنید.
- بر روی “غیرفعال کردن” (Deactivate) کلیک کنید.
- استفاده از FTP یا File Manager
اگر به داشبورد دسترسی ندارید، میتوانید از طریق FTP یا File Manager در هاست خود افزونه را غیر فعال کنید:
- به سرور خود با استفاده از FTP یا File Manager متصل شوید.
- به مسیر
/wp-content/plugins/
بروید. - پوشه مربوط به افزونه فایروال را پیدا کنید.
- نام پوشه افزونه را تغییر دهید (مثلاً
wordfence
را بهwordfence_disabled
تغییر دهید). این باعث میشود که وردپرس نتواند افزونه را بارگذاری کند و در نتیجه غیر فعال شود.
- پاکسازی کش
بعد از غیرفعال کردن افزونه فایروال، مطمئن شوید که کش مرورگر و هر نوع پلاگین کشی که استفاده میکنید را پاکسازی کنید تا تغییرات به درستی اعمال شوند.
- بررسی عملکرد سایت
اکنون دوباره بررسی کنید که آیا مشکل cURL error 28: SSL connection timeout
برطرف شده است یا خیر. اگر مشکل حل شد، به احتمال زیاد فایروال دلیل این مشکل بوده است.
- پیکربندی فایروال
اگر مشخص شد که فایروال باعث این مشکل است، پس از رفع مشکل میتوانید تنظیمات فایروال خود را مجدداً بررسی و پیکربندی کنید تا مطمئن شوید که در آینده این مشکل پیش نمیآید.
- فعالسازی مجدد فایروال
پس از انجام تغییرات و رفع مشکل، فایروال را دوباره فعال کنید
- اگر از داشبورد وردپرس استفاده میکنید، به بخش “افزونهها” بروید و بر روی “فعال کردن” (Activate) کلیک کنید.
- اگر از FTP یا File Manager استفاده کردید، نام پوشه افزونه را به حالت اولیه برگردانید.
تنظیمات مربوط به DNS را بررسی کنید
یکی دیگر از مواردی که باعث بروز مشکل cURL 28 میشود، عدم تنظیم درست DNS سرور است. در پردازش درخواستهای HTTP گاهی مواقع مشکل وجود میآید و باعث بروز خطا میشود. برای حل مشکل cURL error 28: SSL connection timeout در وردپرس به دلیل تنظیم نادرست DNS، تنها راهکار ارتباط با پشتیبانی و شرکت ارائهدهنده هاست وردپرس است.
تمامی افزونههای وردپرس را غیر فعال کنید
افزونههای وردپرس از درخواستهای API برای دریافت و ارسال اطلاعات استفاده میکنند. تکرار زیاد این درخواست و زمان زیادی که برای تکمیل آن نیاز است، ممکن است باعث بروز خطای cURL 28 شود. برای اینکه بفهمید مشکل از سمت افزونهها است، باید ابتدا همه آنها را غیر فعال کنید.
به این منظور ابتدا به بخش “پلاگین” و در ادامه “قسمت پلاگینهای نصب شده” وارد شوید. همه پلاگینها را انتخاب کنید. سپس روی گزینه اقدامات جمعی کلیک و گزینه “غیر فعال” را انتخاب کنید. در پایان نیز بر روی گزینه ” اِعمال” کلیک نمایید.
سپس وارد بخش گزارش سلامت وردپرس شوید تا ببینید آیا مشکل رفع شده یا خیر. اگر مشکل حل شده باشد، دوباره میتوانید پلاگینها را فعال کرده و پس از آن دوباره گزارش سلامت وبسایت را بررسی نمایید. با این کار میتوانید بفهمید کدام افزونه باعث بروز مشکل cURL 28 شده تا برای حل آن از توسعهدهندههای پلاگین استفاده کنید.
از عملکرد درست ssl وب سایت مطمئن شوید
چنانچه وردپرس از HTTPS / SSL استفاده میکند، ولی درست پیکربندی نشده، به احتمال زیاد سرور وب سایت درخواستهای ناامنcURL را مسدود میکند. اگر وب سایت وردپرس ازHTTPS / SSL استفاده نمیکند، اما از طریق URL HTTPs درخواست API را ارسال کرده است و درخواست به شکل کامل انجام نمیشود، ممکن است به جای خطایcURL ، خطای زیر را مشاهده کنید:
خطای cURL 7: اتصال به پورت لوکال هاست ۴۴۳ انجام نشد: درخواست اتصال رد شد (http_request_failed) – (cURL error 7: Failed to connect to localhost port 443: Connection refused (http_request_failed))
برای رفع این مشکل باید از شرکت ارائهدهنده هاست بخواهید که مجدداً گواهی ssl را بر روی وب سایت نصب کند.
از نصب جدیدترین نرمافزارها بر روی سرور میزبان مطمئن شوید
برای اینکه مشکل cURL 28 حل شود، یکی دیگر از راهها این است که مطمئن شوید سرور میزبان از به روزترین نسخههای PHP و کتابخانه cURL و همچنین OpenSSL استفاده میکند. این موضوع از طریق تب اطلاعات در بخش ابزارها و سلامت وبسایت قابل بررسی است.
ابتدا به تب ” اطلاعات” بروید و قسمت سرور را انتخاب کنید. آخرین اطلاعات مربوط به نرمافزار نصب شده برای سرور میزبان را دریافت کنید. در ایدهآلترین حالت سرور شما باید از جدیدترین نسخه PHP 7.4.13 ، curl 7.74.0 و OpenSSL 1.1.1 استفاده کند. در غیر این صورت، با شرکت میزبانی وردپرس تماس بگیرید و بخواهید نرمافزار مربوطه را بهروزرسانی کند.
از شرکت ارائهدهنده هاست کمک بگیرید
اگر از طریق هیچ کدام از مراحلی که به آنها اشاره کردیم نتوانستید مشکل cURL 28 را حل کنید، به احتمال زیاد هاست وبسایت مشکل دارد. در این شرایط فقط شرکت میزبان میتواند آن را برطرف کند. اگر سرورDNS نتواند به درخواست پاسخ دهد، مدت زمان درخواست cURL به پایان میرسد.
علاو بر این اتصال کند یا مشکل شبکه در اتصال به سرور هاست نیز میتواند در ایجاد خطای cURL نقش داشته باشد. در این صورت باید این موضوع را با تیم فنی شرکت ارائهدهنده هاست در میان بگذارید.
افزونه Query Monitor را در وردپرس نصب کنید
برای حل مشکل cURL error 28: SSL connection timeout در وردپرس باید حتماً چک کنید چه آدرسهایی درخواست خروجی به سرور را ارسال میکنند و کدام یک از آنها با خطا روبرو میشوند. برای بررسی این مورد لازم است که افزونه Query Monitor را نصب کنید. در این صورت وضعیت تماسهای HTTP API در صفحه مدیریت خطا نمایش داده میشود.
درخواستهای خروجی وردپرس را مسدود کنید
اگر سرعت پیشخوان وردپرس به دلیل خطای cURL 28 پایین آمده یا ارور ۵۰۰ نمایش داده میشود، میتوانید به صورت موقت همه درخواستهای خروجی را مسدود نمایید. در چنین شرایطی در صورت پیکربندی اشتباه، اختلال در اتصال به درگاه بانکی، پنل پیامک، افزونهها، قالبها و سیستم حسابداری بهوجود میآید.
کلام آخر
برای حل مشکل cURL error 28: SSL connection timeout در وردپرس باید ابتدا فایروال وردپرس را غیر فعال کنید. پس از آن باید درخواست نصب مجدد ssl را به شرکت میزبانی هاست ارائه دهید. خطای cURL 28 زمانی اتفاق میافتد که سایت در تکمیل درخواست API زمان زیادی صرف میکند. همین باعث بروز مشکل در ارسال و دریافت درخواست به سرور میشود. از دلایل مهم بروز این خطا، افزونه فایروال وردپرس یا عدم پیکربندی نامناسب DNS است.
این عوامل باعث میشود که پیشخوان وردپرس، قالب وب سایت و افزونهها به دلیل عدم ارتباط با سرورهای خارجی درست کار نکنند. از این رو سرعت سایت به شدت کاهش مییابد و مدیریت بخشهای مختلف وب سایت با اختلال مواجه میشود. برای حل مشکل cURL error 28: SSL connection timeout در وردپرس شما باید ابتدا تمام افزونههای وب سایت خود را غیر فعال کنید و تنظیمات مربوط به DNS را بررسی نمایید. در نهایت اگر هیچ یک از راهکارها برای رفع این خطا مؤثر نباشد، باید با شرکت ارائه دهنده هاست در تماس باشید تا مشکل را در اسرع وقت برطرف کنند.
سوالات متداول
- مشکل cURL error 28: SSL connection timeout در وردپرس به چه دلیلی ایجاد میشود؟
این مشکل به دلیل زمان زیاد برای تکمیل درخواست url از وب سایت به وجود میآید. از سوی دیگر پیکربندی نامناسب DNSسرور و وجود برخی از افزونهها در وردپرس میتواند در بروز این خطا مؤثر باشد.
- چه راهکارهایی برای رفع خطای cURL 28 وجود دارد؟
غیر فعال کردن افزونهها، نصب مجدد ssl ، تنظیم پیکربندی DNS سرور از جمله راهکارهای مؤثر برای رفع این خطا هستند.
- اگر خطای cURL 28 به طور کامل برطرف نشود، چه باید کرد؟
اگر تمام راهکارهای لازم برای رفع این خطا را امتحان کرده و هیچ یک مؤثر نبودهاند، باید با پشتیبانی فنی شرکت ارائه دهنده هاست تماس بگیرید.