انتقل إلى المحتوى الرئيسي

حل مشكلات توجيه المضيف المحلي

معلومات

هل تواجه مشكلات في توجيه المضيف المحلي في Cursor؟ سيساعدك هذا الدليل على تشخيص وحل المشكلات الشائعة.

فهم المشكلة

عندما لا تتمكن من توجيه منافذ المضيف المحلي، قد ترى أخطاء مثل:

  • "Unable to forward localhost:3000"
  • "spawn EACCES"
  • "Port already in use"
  • "Connection refused"

حلول سريعة

1. التحقق من توفر المنفذ

أولاً، تحقق مما إذا كان المنفذ قيد الاستخدام بالفعل:

# التحقق مما إذا كان المنفذ 3000 قيد الاستخدام
netstat -ano | findstr :3000

# إنهاء العملية التي تستخدم المنفذ (استبدل PID)
taskkill /PID <PID> /F

2. التحقق من إعدادات جدار الحماية

تأكد من أن جدار الحماية لا يمنع الاتصال:

  1. افتح إعدادات جدار الحماية
  2. أضف Cursor إلى التطبيقات المسموح بها
  3. اسمح بالاتصالات الواردة على منافذ التطوير الخاصة بك

3. التحقق من تكوين الشبكة

# اختبار اتصال المضيف المحلي
curl http://localhost:3000

# التحقق من واجهات الشبكة
ipconfig # Windows
ifconfig # macOS/Linux

المشكلات الشائعة والحلول

المنفذ قيد الاستخدام بالفعل

  1. العثور على العملية

    # Windows
    netstat -ano | findstr :<PORT>

    # macOS/Linux
    lsof -i :<PORT>
  2. إيقاف العملية

    # Windows
    taskkill /PID <PID> /F

    # macOS/Linux
    kill -9 <PID>

مشكلات الأذونات

إذا واجهت أخطاء في الأذونات:

  1. التشغيل كمسؤول (Windows)

    • انقر بزر الماوس الأيمن على Cursor
    • حدد "تشغيل كمسؤول"
  2. إصلاح الأذونات (macOS/Linux)

    sudo chmod 755 /path/to/cursor

تكوين الشبكة

  1. تحديث ملف المضيفين:

    # أضف إلى /etc/hosts أو C:\Windows\System32\drivers\etc\hosts
    127.0.0.1 localhost
  2. التحقق من ارتباطات المضيف المحلي:

    server.js
    // بدلاً من
    app.listen(3000);

    // استخدم
    app.listen(3000, '0.0.0.0');

استكشاف الأخطاء المتقدم

استخدام منافذ مختلفة

إذا كان المنفذ 3000 يسبب مشكلات:

const PORT = process.env.PORT || 3001;
app.listen(PORT, '0.0.0.0', () => {
console.log(`الخادم يعمل على المنفذ ${PORT}`);
});

تكوين الوكيل

استخدام وكيل تطوير:

vite.config.js
export default {
server: {
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
secure: false,
}
}
}
}

مشكلات SSL/HTTPS

لتطوير HTTPS:

const https = require('https');
const fs = require('fs');

const options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};

https.createServer(options, app).listen(3000);

أفضل الممارسات

  1. إدارة المنافذ

    • استخدم متغيرات البيئة للمنافذ
    • وثّق المنافذ المستخدمة
    • نفّذ منافذ احتياطية
  2. الأمان

    • لا تعرض منافذ التطوير للجمهور
    • استخدم HTTPS في الإنتاج
    • نفّذ سياسات CORS المناسبة
  3. سير عمل التطوير

    • استخدم أرقام منافذ متسقة
    • وثّق متطلبات الشبكة
    • حافظ على معالجة الأخطاء المناسبة

أدوات التصحيح

فحص الشبكة

  1. أدوات مطور المتصفح

    • افتح علامة تبويب الشبكة
    • راقب الطلبات/الاستجابات
    • تحقق من مشكلات CORS
  2. أدوات سطر الأوامر

    # اختبار اتصال TCP
    telnet localhost 3000

    # اختبار طلب HTTP
    curl -v localhost:3000

إدارة العمليات

مراقبة العمليات قيد التشغيل:

# Windows
tasklist | findstr node
tasklist | findstr python

# macOS/Linux
ps aux | grep node
ps aux | grep python

عندما تفشل كل الحلول الأخرى

  1. إعادة تعيين إعدادات الشبكة

    # Windows
    ipconfig /flushdns
    netsh winsock reset

    # macOS
    sudo dscacheutil -flushcache
    sudo killall -HUP mDNSResponder
  2. تنظيف بيئة التطوير

    • حذف node_modules
    • مسح ذاكرة التخزين المؤقت npm/yarn
    • إعادة تعيين خادم التطوير
تلميح

تذكر توثيق أي حلول تجدها لإعدادك المحدد!

الموارد ذات الصلة