learn

cURL Error 28 در وردپرس؛ تشخیص علت timeout اتصال خروجی

راهنمای timeout در اتصال خروجی وردپرس؛ جمع‌آوری شواهد بدون خاموش‌کردن TLS و فایروال یا تکرار خطرناک پرداخت و درخواست‌های تغییردهنده.

cURL Error 28 یعنی عملیات در زمان مجاز تمام نشده است. این خطا ممکن است هنگام تماس وردپرس با API، دریافت فایل یا درخواست داخلی دیده شود. نام دامنهٔ مقصد و مرحلهٔ توقف مهم‌اند؛ از خودِ عدد ۲۸ نمی‌توان نتیجه گرفت که گواهی SSL خراب است یا همهٔ ارتباط‌های سرور قطع شده‌اند.

عدد خطا را دقیق بخوانید

مرجع خطاهای libcurl، کد ۲۸ را پایان مهلت عملیات معرفی می‌کند. کد ۷ شکست اتصال به میزبان یا پراکسی است، نه اثباتِ نبود SSL. کد ۶۰ به تأیید گواهیِ طرف مقابل مربوط است. این تفاوت، شاخهٔ بررسی را عوض می‌کند؛ راه‌حل یکی را برای دیگری اجرا نکنید.

چه اطلاعاتی جمع کنیم؟

  • زمان رخداد با منطقهٔ زمانی و عملیاتی که آن را ایجاد کرد.
  • نام مقصد و درگاه، بدون توکن یا اطلاعات ورودِ داخل URL.
  • متن پالایش‌شدهٔ خطا و مدت انتظار گزارش‌شده.
  • اینکه یک مقصد یا همهٔ مقصدها مشکل دارند و آیا خطا تکرارپذیر است.

مرورگر شما همان محیط سرور نیست

بازشدن سایت مقصد روی لپ‌تاپ، اتصال خروجی PHP هاست را تأیید نمی‌کند. مدیر مجاز باید نام‌گشایی DNS، اتصال، TLS و زمان پاسخ را از محیط مرتبط بررسی کند. درخواستی که از سرور به دامنهٔ خود سایت می‌رود نیز می‌تواند از پراکسی، احراز هویت یا محدودیت داخلی عبور کند؛ آن را با بازدید معمول کاربر یکی ندانید.

تنظیم timeout را کورکورانه بالا نبرید

در مرجع درخواست HTTP وردپرس تنظیمات درخواست توضیح داده شده است. مهلت بیشتر تنها وقتی منطقی است که عملیات مجاز، پاسخ مورد انتظار و ظرفیت پردازش را می‌شناسید. برای پردازش طولانی، کوچک‌کردن دسته یا اجرای صف می‌تواند از معطل‌ماندن یک درخواست مناسب‌تر باشد. ابتدا علت کندی را پیدا کنید.

آزمون محدود به‌جای خاموش‌کردن حفاظت

اگر یک افزونه یا قانون مشخص مظنون است، شواهد و تغییر اخیر را روی محیط آزمایشی بررسی کنید. همهٔ افزونه‌ها را در سایت اصلی متوقف نکنید و بررسی گواهی را با sslverify=false دور نزنید. خطای واقعیِ گواهی باید با زنجیره، نام و اعتبار درست اصلاح شود؛ نه با حذف کنترل آن.

در تکرار درخواست احتیاط کنید

timeout لزوماً به معنی انجام‌نشدن عملیات در سرویس مقصد نیست. پیش از ارسال دوبارهٔ پرداخت، سفارش یا ایجاد رکورد، نتیجهٔ قبلی و شناسهٔ عملیات را کنترل کنید. برای پشتیبانی، شواهد پالایش‌شده را خصوصی بفرستید، نه کل لاگ حاوی Authorization. رفع cURL Error 28 را با موفقیت همان عملیات و زمان پاسخ متعارف تأیید کنید.

راهنمای مرتبط

بازبینی فنی و منابع: ۲۷ مهر ۱۴۰۵. تاریخ انتشار اولیه و مسیر قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب