Pernahkah Anda berhadapan dengan error “Connection Refused” saat mencoba mengakses dashboard n8n Anda? Frustrasi rasanya ketika workflow automation yang sudah disiapkan tidak bisa diakses, apalagi jika sedang dikejar deadline. Error ini memang umum terjadi, terutama saat deployment di lingkungan server seperti VPS atau Docker. Kabar baiknya, sebagian besar penyebabnya cukup standar dan bisa diatasi dengan langkah-langkah sistematis.
Sebagai developer yang sering bermain dengan automation dan server, saya juga berkali-kali mengalami hal serupa. Intinya, “Connection Refused” berarti sistem mencoba membuat koneksi ke suatu alamat IP dan port, tetapi tidak ada aplikasi yang ‘mendengarkan’ atau siap menerima koneksi di port tersebut. Ini bisa jadi karena n8n belum jalan, ada firewall yang memblokir, atau konfigurasi yang salah.
Artikel ini akan memandu Anda mengatasi masalah Connection Refused di n8n dengan solusi praktis, mulai dari pemeriksaan dasar hingga konfigurasi yang lebih kompleks. Mari kita selami satu per satu.
Penyebab dan Solusi Error Connection Refused di n8n
Untuk mengatasi error ini, kita perlu memahami kemungkinan penyebabnya. Berikut adalah skenario paling umum dan cara mengatasinya:
1. n8n Tidak Berjalan atau Crash
Ini adalah penyebab paling sederhana namun sering terlewat. Jika n8n tidak aktif, tentu saja tidak ada yang bisa dihubungi.
Gejala:
- Browser menampilkan “Connection Refused”
- Tidak ada proses n8n yang terlihat berjalan di server
Penyebab:
- n8n belum dimulai (setelah reboot server, deployment baru)
- n8n crash karena resource limit, error konfigurasi, atau bug
Solusi:
- Periksa Status n8n:
- Jika Anda menjalankan n8n sebagai proses systemd:
sudo systemctl status n8nPeriksa outputnya. Pastikan statusnya
active (running). - Jika Anda menjalankan n8n dengan PM2:
pm2 statusCari proses n8n dan pastikan statusnya
online. - Jika Anda menjalankan n8n dengan Docker:
docker psPastikan ada container n8n yang berjalan. Jika tidak ada, periksa container yang berhenti:
docker ps -a. Periksa lognya:docker logs [nama_atau_id_container_n8n].
- Dengan systemd:
sudo systemctl start n8natausudo systemctl restart n8n - Dengan PM2:
pm2 start n8nataupm2 restart n8n - Dengan Docker:
docker start [nama_atau_id_container_n8n]ataudocker-compose up -d(jika pakai docker-compose)
2. Firewall Memblokir Port n8n
Firewall adalah pengaman utama server Anda. Namun, kadang ia terlalu “protektif” dan memblokir port yang Anda butuhkan untuk diakses dari luar.
Gejala:
- n8n berjalan normal di server, tetapi tidak bisa diakses dari browser lain.
- Anda mungkin bisa mengakses n8n dari server itu sendiri (misal:
curl http://localhost:5678).
Penyebab:
- Port yang digunakan n8n (default 5678) belum dibuka di firewall server.
Solusi:
Buka port yang digunakan n8n di firewall Anda. Asumsi n8n berjalan di port 5678:
- Untuk UFW (Uncomplicated Firewall) di Ubuntu/Debian:
sudo ufw allow 5678/tcpLalu, reload UFW:
sudo ufw reload - Untuk firewalld di CentOS/RHEL:
sudo firewall-cmd --permanent --add-port=5678/tcpsudo firewall-cmd --reload - Untuk AWS Security Groups atau Google Cloud Firewall Rules:
Pastikan Anda sudah menambahkan rule untuk mengizinkan traffic TCP masuk ke port 5678 dari IP publik yang relevan (biasanya 0.0.0.0/0 untuk akses publik).
3. Konfigurasi Port dan Host n8n yang Salah
n8n mungkin dikonfigurasi untuk mendengarkan di alamat atau port yang berbeda dari yang Anda coba akses.
Gejala:
- Anda mencoba mengakses n8n di
http://your-domain.com:5678tetapi selalu Connection Refused.
Penyebab:
- Variabel lingkungan
N8N_HOSTatauN8N_PORTsalah diatur di file.envAnda atau saat memulai n8n. - n8n secara default mendengarkan di
localhost:5678jika tidak dikonfigurasi. Ini berarti hanya bisa diakses dari server itu sendiri.
Solusi:
- Periksa File
.env:Cari file
.envdi direktori instalasi n8n Anda. Pastikan baris-baris ini ada dan benar:N8N_HOST=0.0.0.0 N8N_PORT=5678 WEBHOOK_URL=http://your-domain.com/N8N_HOST=0.0.0.0penting agar n8n mendengarkan di semua interface jaringan, sehingga bisa diakses dari luar. Jika hanya127.0.0.1ataulocalhost, ia hanya bisa diakses dari server itu sendiri. - Restart n8n setelah perubahan
.env.
4. Port Sudah Digunakan Aplikasi Lain
Jika port default n8n (5678) sudah dipakai oleh aplikasi lain, n8n tidak akan bisa memulai dan akan memberikan error.
Gejala:
- n8n gagal startup atau langsung crash setelah mencoba dimulai.
- Log n8n menampilkan pesan error seperti “address already in use” atau “port 5678 is already allocated”.
Penyebab:
- Aplikasi lain (misal: aplikasi developer lain, web server) sudah mengikat port 5678.
Solusi:
- Cek Port yang Digunakan:
Gunakan perintah
netstatataulsofuntuk melihat aplikasi apa yang menggunakan port tersebut:sudo netstat -tulnp | grep 5678atau
sudo lsof -i :5678Jika ada proses yang menggunakan port tersebut, Anda punya dua opsi:
- Hentikan Aplikasi yang Menggunakan Port:
Identifikasi PID (Process ID) dari output perintah di atas, lalu hentikan prosesnya:
sudo kill -9 [PID](hati-hati, pastikan Anda tahu apa yang Anda hentikan!). - Ubah Port n8n:
Ganti
N8N_PORTdi file.envAnda ke port lain yang kosong (misal: 5679), lalu restart n8n.
5. Masalah Konfigurasi Reverse Proxy (Nginx/Caddy)
Jika Anda menggunakan reverse proxy (seperti Nginx atau Caddy) untuk mengarahkan traffic dari domain Anda ke n8n, konfigurasi yang salah bisa menyebabkan Connection Refused.
Gejala:
- Mengakses
your-domain.com(tanpa port) menghasilkan Connection Refused. - Reverse proxy tidak dapat terhubung ke n8n.
Penyebab:
- Proxy_pass di Nginx atau handle di Caddy mengarah ke IP atau port yang salah.
- Proxy_pass mencoba menggunakan
localhostsementara n8n mendengarkan di alamat lain (misal dalam Docker network).
Solusi:
- Periksa Konfigurasi Reverse Proxy:
Pastikan file konfigurasi Nginx (biasanya di
/etc/nginx/sites-available/atau/etc/nginx/conf.d/) atau Caddy (Caddyfile) mengarahkan ke alamat dan port n8n yang benar.Contoh Nginx:
location / { proxy_pass http://localhost:5678/; # Pastikan ini sesuai dengan N8N_HOST dan N8N_PORT 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; }Contoh Caddy:
your-domain.com { reverse_proxy localhost:5678 # Pastikan ini sesuai } - Periksa Log Reverse Proxy:
Log Nginx biasanya di
/var/log/nginx/error.log. Log Caddy bisa dilihat denganjournalctl -u caddyatau file log yang dikonfigurasi. Cari error yang berkaitan dengan “upstream refused connection” atau “connection refused”. - Restart Reverse Proxy:
Setelah perubahan konfigurasi, jangan lupa restart service Nginx atau Caddy:
sudo systemctl restart nginxatausudo systemctl restart caddy
6. Masalah Docker Container
Jika n8n berjalan di Docker, ada beberapa hal spesifik yang bisa menyebabkan Connection Refused.
Gejala:
docker pstidak menampilkan container n8n berjalan.- Anda tidak bisa mengakses n8n meskipun sudah mencoba port mapping.
Penyebab:
- Container n8n tidak berjalan atau gagal memulai.
- Port mapping Docker salah atau tidak ada.
- Container n8n crash karena error internal atau resource.
Solusi:
- Periksa Status Container:
docker ps -aLihat status container n8n. Jika
Exited, periksa lognya:docker logs [nama_container_n8n]. - Periksa Port Mapping:
Saat menjalankan container n8n, pastikan Anda memetakan port dari container ke host. Contoh:
docker run -it --rm --name n8n -p 5678:5678 n8nio/n8nArtinya, port 5678 dari host (server fisik) akan diteruskan ke port 5678 di dalam container.
- Gunakan Docker Compose:
Untuk deployment yang lebih stabil, gunakan
docker-compose.yml. Pastikan bagianportssudah benar:version: '3.8' services: n8n: image: n8nio/n8n restart: always ports: - "5678:5678" # Host:Container environment: - N8N_HOST=0.0.0.0 # ... environment lainnyaLalu jalankan dengan
docker-compose up -d.
Pengalaman dan Pertimbangan Praktis
Dalam praktiknya, ketika saya menghadapi error “Connection Refused”, langkah pertama yang selalu saya lakukan adalah melihat log. Log adalah teman terbaik Anda. Apakah itu journalctl untuk systemd, pm2 logs, docker logs, atau log reverse proxy, informasi di sana seringkali menjadi kunci untuk menemukan akar masalah.
Seringkali, masalah firewall atau port yang sudah dipakai adalah penyebab utama. Terutama saat pertama kali deploy di VPS baru atau setelah menginstal aplikasi lain. Jangan lupa, jika Anda menggunakan penyedia cloud seperti AWS EC2, Google Cloud Compute Engine, atau Azure VM, Anda juga perlu memeriksa aturan keamanan (Security Groups atau Firewall Rules) di level provider cloud, bukan hanya firewall OS di dalam VM Anda.
Untuk deployment yang sifatnya produksi, selalu gunakan reverse proxy (Nginx atau Caddy) di depan n8n. Ini tidak hanya memudahkan konfigurasi SSL (HTTPS) dan kustomisasi domain, tetapi juga membantu dalam troubleshooting. Jika Anda bisa mengakses n8n langsung di port 5678 (misal: http://your-ip:5678) tetapi tidak bisa melalui domain (https://your-domain.com), maka masalahnya ada di konfigurasi reverse proxy atau SSL Anda, bukan n8n-nya.
Terakhir, pastikan Anda memahami lingkungan Anda. Apakah n8n berjalan secara langsung, via PM2, systemd, atau Docker? Masing-masing memiliki cara yang berbeda dalam mengelola proses dan port, dan pemahaman ini akan sangat mempercepat proses debugging.
FAQ
Apa arti sebenarnya dari “Connection Refused”?
Secara teknis, “Connection Refused” berarti komputer klien mencoba terhubung ke alamat IP dan port tertentu, tetapi komputer server secara aktif menolak koneksi tersebut. Ini berbeda dengan “Timeout”, di mana server tidak merespons sama sekali, atau “Host Unreachable”, di mana server tidak bisa ditemukan di jaringan.
Bagaimana cara cepat mengetahui apakah n8n sedang berjalan di server saya?
Cara tercepat adalah memeriksa proses yang mendengarkan di port n8n (default 5678). Gunakan sudo netstat -tulnp | grep 5678. Jika ada output, berarti ada sesuatu yang mendengarkan. Kemudian, periksa status service n8n sesuai metode instalasi Anda (systemd, PM2, Docker).
Apakah saya perlu membuka port 5678 secara publik?
Idealnya tidak. Jika Anda menggunakan reverse proxy seperti Nginx atau Caddy, Anda hanya perlu membuka port 80 (HTTP) dan 443 (HTTPS) secara publik. Koneksi dari reverse proxy ke n8n (biasanya localhost:5678) akan terjadi secara internal di server, sehingga port 5678 tidak perlu dibuka ke internet.
Bagaimana jika saya menggunakan n8n di Docker dan masih Connection Refused?
Fokus pada port mapping di perintah docker run atau docker-compose.yml Anda, dan pastikan container n8n benar-benar Up. Gunakan docker logs [nama_container] untuk melihat mengapa container mungkin tidak bisa memulai.
Kesimpulan
Error “Connection Refused” di n8n memang bisa membuat pusing, tetapi dengan pendekatan yang sistematis, sebagian besar masalahnya bisa diidentifikasi dan diperbaiki. Mulai dari memeriksa status n8n, konfigurasi firewall, variabel lingkungan, hingga setup reverse proxy, setiap langkah krusial dalam memastikan n8n Anda dapat diakses dengan lancar. Semoga panduan ini membantu Anda kembali membangun workflow automation tanpa hambatan!
TAGS: n8n, troubleshooting, connection refused, error, devops, automation, docker, vps, networking, tutorial
