Server Lokal Jadi Online dengan Cloudflare Tunnel

Server Lokal Jadi Online dengan Cloudflare Tunnel & n8n

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:

TypeNameTargetProxy
CNAMEn8n<UUID>.cfargotunnel.comProxied ☁️

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:

Leave a Reply

Your email address will not be published. Required fields are marked *