ETIMEDOUT (errno 110)
errno 110
الرسالة الرسمية (كما تظهر على الشاشة): Connection timed out
يُبحث عنه أيضًا باسم: Connection timed out, errno 110, connect ETIMEDOUT
ماذا يعني
تعني ETIMEDOUT، أي 'Connection timed out' (errno 110 في Linux و60 في macOS)، أن عملية شبكية لم تتلق أي رد خلال المدة المسموحة. عادةً يكون المضيف الوجهة متوقفاً، أو المنفذ مفلتراً بجدار حماية، أو لا يوجد مسار يوصل الحزم.
ينطبق على: Linux, macOS (BSD errno), WSL, حاويات Docker
كيفية إصلاح ETIMEDOUT (errno 110)
- افحص إمكانية الوصول الأساسية بالأمر 'ping <host>' والمنفذ بالأمر 'nc -vz <host> <port>' أو 'curl -v telnet://<host>:<port>'
- تأكد من أن اسم المضيف يُحلّ إلى عنوان IP الصحيح بالأمر 'dig <host>'
- افحص جدران الحماية ومجموعات الأمان السحابية (security groups) على الوجهة للمنفذ المعني
- إذا كنت خلف شبكة مؤسسية، فاضبط الوكيل (proxy) المطلوب (المتغير HTTPS_PROXY) للأداة التي تستخدمها
- استخدم 'traceroute' أو 'mtr <host>' لمعرفة أين تتوقف الحزم
- ارفع مهلات التطبيق فقط إذا كان الخادم يمكن الوصول إليه لكنه بطيء بشكل مشروع
سبب حدوثه
انتهت محاولات إعادة إرسال TCP دون رد. وأسبابه الشائعة: منافذ مفلترة تُسقط الحزم، وخوادم غير متصلة، وعناوين IP خاطئة، ومسارات معطلة، وعدم استخدام وكلاء إلزاميين.
الأسئلة الشائعة
ما الفرق بين ETIMEDOUT وECONNREFUSED؟
ECONNREFUSED تعني أن المضيف رد بأنه لا شيء يستمع على المنفذ. أما ETIMEDOUT فتعني أنه لم يصل أي رد على الإطلاق، وعادةً بسبب جدار حماية أو مضيف غير متصل.
أخطاء ذات صلة
المصدر: Linux kernel errno.h · حلول كتبها المحررون وراجعوها (راجع السياسة التحريرية)
آخر تحديث: