AUTOMATIONHOWTOINFRASTRUCTURE
📅 22 פברואר 2026

n8n על VPS: איך תיקנו את ה-WebSocket שכולם נתקעים בו

הבעיה הנפוצה ביותר בהתקנת n8n — "Lost connection to the server." הסיבה תמיד זהה, הפתרון תמיד זהה — ומסיבה לא ברורה אף אחד לא כותב על זה בעברית.

👨‍💻
יעקב בידני
BDNHOST Group
⏱ 4 דקות קריאה

הבעיה: Workflow נופל באמצע ריצה

מתקינים n8n על VPS, הממשק עולה יפה, אבל כשמריצים Workflow — שגיאה: "Problem running workflow — Lost connection to the server." הממשק עובד, אין 502/503, ובכל זאת כלום לא עובד.

הסיבה: n8n מסתמך על WebSocket להעברת סטטוס ריצה חי בין ה-Node.js process לדפדפן. Nginx ברירת מחדל לא מעביר WebSocket headers — ולכן החיבור נופל.

❌ שגיאה נפוצה נוספת

proxy_read_timeout ברירת מחדל הוא 60 שניות. Workflow שלוקח יותר מדקה — Nginx חותך את החיבור באמצע. זו בעיה שנייה שמגיעה מיד אחרי ה-WebSocket.

הפתרון: Nginx Config מלא

החלף את קובץ ה-vhost של n8n בהגדרה הבאה:

📄 /etc/nginx/sites-available/n8n.bdnhost.net
server {
    listen 80;
    server_name n8n.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name n8n.yourdomain.com;

    ssl_certificate     /etc/letsencrypt/live/n8n.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/n8n.yourdomain.com/privkey.pem;

    location / {
        proxy_pass         http://localhost:5678;
        proxy_http_version 1.1;

        # WebSocket support — זה הקריטי
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_set_header Host              $host;
        proxy_set_header X-Real-IP         $remote_addr;
        proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Timeout ל-workflows ארוכים
        proxy_read_timeout    3600;
        proxy_connect_timeout 3600;
        proxy_send_timeout    3600;
    }
}

לאחר העדכון — הפעל:

nginx -t && systemctl reload nginx
pm2 restart n8n
pm2 logs n8n --lines 30

בעיה שנייה: RAM מלא = n8n מת

VPS עם 2GB RAM + n8n + node_modules = קרוב לגבול. כשה-RAM מתמלא, OOM Killer הורג את הפרוצס של n8n בשקט. הפתרון: הוספת Swap.

💾 הוספת Swap (2GB)
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

PM2 — וודא ש-n8n קם תמיד

# הפעל n8n דרך PM2
pm2 start n8n --name "n8n"
pm2 save
pm2 startup  # הפעל PM2 בעלייה מחדש

# בדיקת סטטוס
pm2 status
pm2 logs n8n --lines 50
💡 טיפ נוסף: WEBHOOK_URL

הגדר את משתנה הסביבה WEBHOOK_URL=https://n8n.yourdomain.com כדי ש-Webhooks יצביעו לדומיין הנכון. בלי זה, Webhook triggers לא עובדים מחוץ ל-localhost.

לא רוצה לעשות את זה לבד?

N8N Managed Hosting של BDNHOST — WebSocket נכון, PM2, גיבויים, ועדכונים מנוהלים. ₪199/חודש.

ראה N8N Hosting ←