حل مشكلات توجيه المضيف المحلي
معلومات
هل تواجه مشكلات في توجيه المضيف المحلي في Cursor؟ سيساعدك هذا الدليل على تشخيص وحل المشكلات الشائعة.
فهم المشكلة
عندما لا تتمكن من توجيه منافذ المضيف المحلي، قد ترى أخطاء مثل:
- "Unable to forward localhost:3000"
- "spawn EACCES"
- "Port already in use"
- "Connection refused"
حلول سريعة
1. التحقق من توفر المنفذ
أولاً، تحقق مما إذا كان المنفذ قيد الاستخدام بالفعل:
- Windows
- macOS/Linux
# التحقق مما إذا كان المنفذ 3000 قيد الاستخدام
netstat -ano | findstr :3000
# إنهاء العملية التي تستخدم المنفذ (استبدل PID)
taskkill /PID <PID> /F
# التحقق مما إذا كان المنفذ 3000 قيد الاستخدام
lsof -i :3000
# إنهاء العملية التي تستخدم المنفذ
kill -9 $(lsof -t -i:3000)
2. التحقق من إعدادات جدار الحماية
تأكد من أن جدار الحماية لا يمنع الاتصال:
- افتح إعدادات جدار الحماية
- أضف Cursor إلى التطبيقات المسموح بها
- اسمح بالاتصالات الواردة على منافذ التطوير الخاصة بك
3. التحقق من تكوين الشبكة
# اختبار اتصال المضيف المحلي
curl http://localhost:3000
# التحقق من واجهات الشبكة
ipconfig # Windows
ifconfig # macOS/Linux
المشكلات الشائعة والحلول
المنفذ قيد الاستخدام بالفعل
-
العثور على العملية
# Windows
netstat -ano | findstr :<PORT>
# macOS/Linux
lsof -i :<PORT> -
إيقاف العملية
# Windows
taskkill /PID <PID> /F
# macOS/Linux
kill -9 <PID>
مشكلات الأذونات
إذا واجهت أخطاء في الأذونات:
-
التشغيل كمسؤول (Windows)
- انقر بزر الماوس الأيمن على Cursor
- حدد "تشغيل كمسؤول"
-
إصلاح الأذونات (macOS/Linux)
sudo chmod 755 /path/to/cursor
تكوين الشبكة
-
تحديث ملف المضيفين:
# أضف إلى /etc/hosts أو C:\Windows\System32\drivers\etc\hosts
127.0.0.1 localhost -
التحقق من ارتباطات المضيف المحلي:
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);
أفضل الممارسات
-
إدارة المنافذ
- استخدم متغيرات البيئة للمنافذ
- وثّق المنافذ المستخدمة
- نفّذ منافذ احتياطية
-
الأمان
- لا تعرض منافذ التطوير للجمهور
- استخدم HTTPS في الإنتاج
- نفّذ سياسات CORS المناسبة
-
سير عمل التطوير
- استخدم أرقام منافذ متسقة
- وثّق متطلبات الشبكة
- حافظ على معالجة الأخطاء المناسبة
أدوات التصحيح
فحص الشبكة
-
أدوات مطور المتصفح
- افتح علامة تبويب الشبكة
- راقب الطلبات/الاستجابات
- تحقق من مشكلات CORS
-
أدوات سطر الأوامر
# اختبار اتصال 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
عندما تفشل كل الحلول الأخرى
-
إعادة تعيين إعدادات الشبكة
# Windows
ipconfig /flushdns
netsh winsock reset
# macOS
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder -
تنظيف بيئة التطوير
- حذف node_modules
- مسح ذاكرة التخزين المؤقت npm/yarn
- إعادة تعيين خادم التطوير
تلميح
تذكر توثيق أي حلول تجدها لإعدادك المحدد!