Connection refused على 11434: المنادي، المستمع، ستة أسباب
curl واحد يقسّم المسألة شطرين — أسباب الخادم مرتبة قد يحتمل، فخ localhost داخل الحاوية، الربط على LAN، ونسخة الضالة السارقة للمنفذ.
■ space · مسلك النثر
Connection refused = لا شيء يُصغي على المنفذ 11434 حيث ناديت. النظام يقول ذلك؛ وOllama لم يرَ الطلب قط.
شغّل curl http://localhost:11434 — Ollama is running يعني أن الخادم سليم وأن المنادي ينادي المكان الخطأ.
رُفض أيضًا على المضيف؟ انحدر عبر الأسباب الستة أدناه — الأرجح أولًا، لكل سبب أمر.
خريطة المنادي
نصف البلاغات مسألة موضع: المستمع سليم — والمنادي ينادي من موضع لا يلحقه المستمع.
حاوية على Linux عريان يحتاج --add-host=host.docker.internal:host-gateway — وثائق Docker نفسها تسمي هذا العلم لهذه الحالة عينها · حاوية-إلى-حاوية على الشبكة ذاتها: http://<اسم-الخدمة>:11434
الأسباب الستة، بالترتيب
من أعلى إلى أسفل — أول صف يطابق خطأك يحمل الإصلاح:
| أين تراها | السبب المرجّح | الإصلاح |
|---|---|---|
ollama list ترفض هي الأخرى؛ الخدمة غير مشغَّلة | Ollama لم يبدأ قط (أو مات عند الإقلاع) | sudo systemctl enable --now ollama |
| تبدأ، ثم ترفض بعد دقائق من جديد | حلقة انهيار — منفذ مغتصب، قرص ممتلىء، env رديءة | journalctl -u ollama -n 50، أصلح ما يسمّيه |
| الخادم يجيب على 11435، والعملاء يدعون 11434 | مخصوص OLLAMA_HOST حَرَّك المنفذ | وجّه العملاء إلى المنفذ الحقيقي |
127.0.0.1 تنجح، localhost ترفض | localhost تُفكَّ إلى IPv6 ::1 أولًا | نادِ 127.0.0.1، أو اربط الاثنتين |
| المضيف سليم، الحاوية مرفوضة | localhost داخل = الحاوية ذاتها | host.docker.internal + host-gateway |
| حاوية-إلى-حاوية مرفوضة | استعملتَ localhost بدل اسم الخدمة | http://<service-name>:11434 |
| آلة LAN أخرى مرفوضة | الخادم مربوط إلى loopback وحده (الافتراضي) | OLLAMA_HOST=0.0.0.0:11434 في override |
| تشتغل أيامًا، ثم ترفض بلا إنذار | نسخة ثانية مدشدة يدويًا اختلست المنفذ | ss -ltnp، اقتل الضال، واترك الخدمة |
هل OLLAMA مشغَّلة فعلًا؟
نسخ المكتب (macOS وWindows) تشغّل Ollama كتطبيق قطافة، وإغلاقه أسهل مما يتوقَّع. تنصيب Linux يشغّله خدمة systemd قد لا يكون قد هُيّئ ليقوم بعد إقلاع جديد. ollama list موجَّهًا إلى الخادم يجيب بجدول نماذج؛ وإن جاب أيضًا بخطأ اتصال، فشغّل الخادم واجعل الإقلاع دائمًا:
systemctl status ollama
sudo systemctl enable --now ollama # start + survive reboots
journalctl -u ollama -n 50 # if it keeps dying, read why
تحقّق: systemctl is-active ollama → active · ollama list → جدول نماذج
المنفذ، المضيف، الـLAN
Ollama يُصغي على 127.0.0.1:11434 ما لم يُقل غير ذلك. منفذ مخصوص: إن وضعتَ يومًا OLLAMA_HOST=127.0.0.1:11435، يجيب الخادم على 11435، ويُرفض كل عميل يعيد النداء إلى 11434 — تحقّق مما يُصغي فعلاً عبر ss -ltn | grep 1143. فخ IPv6: على بعض الآلات localhost يُفكَّ إلى ::1 أولًا، وخادم مربوط فقط إلى 127.0.0.1 لا يرى تلك المحاولات قط — الاختبار المميِّز كلفته ثانيتان: curl http://127.0.0.1:11434 تنجح بينما curl http://localhost:11434 ترفض. نادِ 127.0.0.1، أو اربط الاثنتين، أو وجّه العملاء إلى IP الخام.
الكشف إلى LAN: افتراضيًا يربط Ollama نفسه إلى loopback وحدَه — عن قصد، إذ لا يملك الAPI أي إثبات هوية. اكتبها في override الخاص بـsystemd لا في صدفتك، حتى تراها الخدمة فعلًا:
sudo systemctl edit ollama
# [Service]
# Environment="OLLAMA_HOST=0.0.0.0:11434"
sudo systemctl restart ollama
تحقّق: ss -ltn | grep 11434 → 0.0.0.0:11434 · من آلة أخرى: curl http://<host-ip>:11434 → «Ollama is running»
جيران «refused» اثنان يقفان خلف عطلين مختلفين: جدار ناري لا يزال يسدّ 11434 فيولّد انقضاءات، لا رفضًا — الرفض يعني «لا» فعلية، والtimeout يعني أن الرزم لم تصل قط. وجافاسكرب متصفح ينادي الAPI من أصل آخر يحتاج OLLAMA_ORIGINS منصوبًا: تلك النداءات تصل ويُردّها طبقة CORS، وهي من برّه شكلٌ واحد.
اتصال مرفوض مسألة موضع لا برنامج مكسور: شيء كان ينبغي أن يُصغي ولم يُصغي، أو أن المنادي ينادي من موضع لا يلحقه المستمع.
يعود، ويعود
إذن عملية تملك المنفذ وأخرى تُهزم في السباق مرة بعد مرة. ss -ltnp | grep 11434 تبيّن العملية التي تحتضن الsocket؛ ونسخة أخرى من Ollama دُشِّنت يدويًا هي اللصّ المألوف. اقتل الضال، واترك الخدمة صاحبة وحيدة، ويرتح الخطأ.
تحقّق: ss -ltnp | grep 11434 → سطر واحد، PID واحد — الخدمة
تجاوزت Ollama الـ181,000 نجمًا على GitHub في سبتمبر 2026 — كلما زادت الآلات التي تشغّلها زاد ما يُحتاج إليه من هذه الأجوبة الستة في الأسبوع نفسه الذي يُبحث فيه. وحين يجيب الخادم، يصير الGPU الذي أبي أن يستعمله الشكوى التالية في الشيوع. وسطر التشخيص، على بعد curl واحد.
connect: Connection refused الخاصة بالنواة جُسِّدت على منضدة طاحونة لا يُصغي فيها شيء — قبل أن يشارك في الأمر أي تطبيق.
نهاية خريطة المنادي · لم يُجلب شيء · كل شيء محلي