Server Lokal Jadi Online dengan Cloudflare Tunnel & n8n
- Pendahuluan
- Prasyarat
- 1. Siapkan Domain di Cloudflare
- 2. Install Cloudflared di Ubuntu
- 3. Login & Buat Tunnel
- 4. Buat Konfigurasi Tunnel
- 5. Jalankan Tunnel sebagai Service
- 6. Pastikan DNS Record
- 7. Uji Akses & Troubleshooting
- Kesimpulan
- Referensi & Internal Link
Pendahuluan
Dengan Cloudflare Tunnel (cloudflared), kamu dapat mengekspos layanan lokal — seperti n8n — ke internet tanpa membuka port di router atau melakukan konfigurasi firewall yang rumit. Selain itu, SSL otomatis aktif melalui Cloudflare sehingga akses menjadi aman. Pertama, kita siapkan domain di Cloudflare; kemudian, kita install dan konfigurasikan tunnel agar subdomain mengarahkan ke port n8n (default 5678).
Prasyarat
- Domain yang dikelola di Cloudflare (mis.
himatech.my.id). - Server Ubuntu (VM atau bare-metal) dengan akses root atau user sudo.
- n8n berjalan di server lokal (biasanya Docker Compose pada port
5678). - cloudflared (Cloudflare Tunnel) akan di-install di server.
1. Siapkan Domain di Cloudflare
Pertama, login ke Cloudflare Dashboard dan tambahkan domain himatech.my.id. Pastikan nameserver domain sudah mengarah ke Cloudflare (contoh: opal.ns.cloudflare.com dan rocky.ns.cloudflare.com). Selanjutnya, aktifkan proxy (orange cloud ☁️) untuk subdomain yang akan dipakai.
2. Install Cloudflared di Ubuntu
Selanjutnya, jalankan perintah berikut di server Ubuntu-mu:
# Update sistem
sudo apt update && sudo apt upgrade -y
# Install wget (jika belum ada)
sudo apt install wget -y
# Download & install cloudflared (versi latest)
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb
# Cek versi
cloudflared --version
Jika sistem kamu minimal tanpa dpkg, gunakan paket manager yang sesuai (mis. apt/get). Setelah ini, lanjut ke autentikasi Cloudflare.
3. Login & Buat Tunnel
Kemudian, login ke Cloudflare dari server (akan membuka browser di mesin lokal yang akses GUI — jika server headless, gunakan komputer lokal yang punya akses ke akun Cloudflare):
cloudflared tunnel login
Setelah autentikasi, buat tunnel baru, misal local-tunnel:
cloudflared tunnel create local-tunnel
Perintah di atas menghasilkan:
- UUID tunnel
- File kredensial
~/.cloudflared/.json
4. Buat Konfigurasi Tunnel
Lalu, siapkan konfigurasi di /etc/cloudflared/config.yml. Jika folder /etc/cloudflared kosong, salin dulu file kredensial dari ~/.cloudflared.
sudo mkdir -p /etc/cloudflared
sudo cp ~/.cloudflared/* /etc/cloudflared/
sudo nano /etc/cloudflared/config.yml
Isi config.yml contoh untuk n8n (pastikan ganti <UUID> dengan UUID yang diberikan):
tunnel: local-tunnel
credentials-file: /etc/cloudflared/.json
ingress:
- hostname: n8n.himatech.my.id
service: http://localhost:5678
- service: http_status:404
⚠️ Sesuaikan port jika n8n kamu bukan di 5678.
5. Jalankan Tunnel sebagai Service
Sekarang, jalankan cloudflared sebagai service systemd agar otomatis start setelah reboot:
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
# cek status
systemctl status cloudflared
Jika service tidak jalan, lihat log dengan journalctl -u cloudflared -f untuk troubleshooting.
6. Pastikan DNS Record di Cloudflare
cloudflared biasanya menambahkan DNS record otomatis (CNAME ke <UUID>.cfargotunnel.com). Namun, jika belum otomatis, tambahkan manual di Cloudflare DNS:
| Type | Name | Target | Proxy |
|---|---|---|---|
| CNAME | n8n | <UUID>.cfargotunnel.com | Proxied ☁️ |
Contoh perintah untuk cek DNS dari server/komputer kamu:
dig n8n.himatech.my.id +short
# atau
nslookup n8n.himatech.my.id
7. Uji Akses & Troubleshooting
Setelah konfigurasi selesai, akses: https://n8n.himatech.my.id
Masalah umum & solusinya:
- /etc/cloudflared kosong:
sudo cp ~/.cloudflared/* /etc/cloudflared/. - NXDOMAIN: Pastikan DNS record di Cloudflare benar dan propagation selesai.
- Service cloudflared tidak aktif: cek log dengan
journalctl -u cloudflared -f. - SSL/TLS: Cloudflare mengelola sertifikat otomatis; pastikan Proxy (orange cloud) aktif untuk subdomain.
Jika masih bermasalah, baca log n8n, cek firewall lokal (ufw/iptables), dan pastikan n8n menerima koneksi di localhost:5678.
Kesimpulan
Dengan demikian, kamu dapat mem-publish layanan n8n yang berjalan di server lokal ke internet tanpa membuka port router. Kelebihannya:
- Tidak perlu buka port router / firewall.
- Akses aman dengan SSL otomatis dari Cloudflare.
- Mudah mengelola banyak service lewat subdomain berbeda.
Referensi & Internal Link
Tambahkan internal link ini di artikelmu untuk meningkatkan SEO dan relevansi:
- Cara Instalasi Docker di Ubuntu untuk Pemula (relevan jika n8n dijalankan via Docker).
- Menghubungkan Domain dengan Cloudflare (panduan DNS & nameserver).
- Tips SSL Gratis dengan Cloudflare (penjelasan mode SSL/Origin).
