β–šServer Journey

Bagian 6 β€” Expose ke Internet dengan Cloudflare Tunnel Β· Langkah 30 dari 38

Konfigurasi Tunnel (config.yml + DNS route)

Beri tahu tunnel: hostname mana β†’ port berapa. Jembatan antara DNS dan aplikasimu.

Isi kepala dulu: ingress = peta rute

config.yml menjawab: 'kalau ada yang masuk ke hostname X, teruskan ke service lokal mana?'. Ini analog persis location block nginx β€” dua reverse proxy sekarang tersambung: Cloudflare edge β†’ terowongan β†’ cloudflared β†’ nginx (atau langsung port app).

~/.cloudflared/config.yml
tunnel: TUNNEL_UUID   # dari output create / cloudflared tunnel list
credentials-file: /home/USERNAME/.cloudflared/TUNNEL_UUID.json

ingress:
  - hostname: app.domainmu.com
    service: http://localhost:80     # lewat nginx (rekomendasi)
  # service: http://localhost:3000  # ATAU langsung ke app tanpa nginx
  - service: http_status:404        # aturan catch-all wajib: selain rute atas β†’ 404

UUID + path credentials dari hasil cloudflared tunnel create. hostname: subdomain pilihanmu di bawah domain yang aktif di Cloudflare

Pilih rute: nginx atau langsung?

  • β†’ localhost:80 (nginx) β€” pilih ini: aturan HTTPS/header/logging-mu terpusat di nginx, tunnel cuma 'pipa'. Konsisten dengan arsitektur yang sudah dibangun.
  • β†’ localhost:3000 (langsung app) β€” lebih pendek tapi bypass nginx; hanya praktis kalau memang tidak pakai nginx.

1. Rute DNS β†’ tunnel

$cloudflared tunnel route dns web-journey app.domainmu.com

otomatis membuat CNAME record di zone Cloudflare β€” kamu tidak perlu sentuh dashboard DNS

2. Uji manual sebelum jadikan service

$cloudflared tunnel run web-journey

biarkan jendela SSH ini terbuka β€” tunnel aktif selama prosesnya hidup

Buka https://app.domainmu.com dari browser HP-mu memakai data seluler (BUKAN wifi rumah yang sama) β†’ halaman aplikasi muncul? Beres β€” dunia sudah bisa mengakses VM di kamarmu. (Beri ~1-2 menit agar DNS route tersinkron.) Ctrl+C untuk menghentikan β€” step berikutnya membuatnya permanen.

βœ“ Tanda berhasil β€” centang kalau sudah kamu lihat/buktikan sendiri

Tombol β€œlanjut” terbuka setelah semua tercentang β€” bukan hukuman, tapi jaring pengaman: pastikan step ini benar-benar beres sebelum menumpuk step berikutnya di atasnya.

Lagi bermasalah?

Error 1033 / DNS resolution is not configured

route dns belum dijalankan atau hostname di config β‰  hostname yang dirute. Cek cloudflared tunnel route dns list web-journey dan cocokkan ejaan persis dengan config.yml.

Error 1101 / tunnel tidak mau connect

cloudflared gagal membuat koneksi keluar: cek internet VM (ping 1.1.1.1). Kalau nameserver belum aktif di Cloudflare, domain juga tidak resolve. Run manual dengan cloudflared tunnel run --loglevel debug web-journey untuk melihat tahap kegagalannya.

Domain utama ( apex, domainmu.com tanpa subdomain) bisa?

Bisa β€” hostname di config & route dns isi domainmu.com tanpa prefix. Untuk belajar lebih jelas pakai subdomain dulu.

← Login & Buat TunnelπŸ”’ Lanjut (checklist dulu)