Cara Akses localhost dari Internet dengan Cloudflared

Cara Akses localhost dari Internet dengan Cloudflared

Bitnesia Infrastructure Aug 25, 2026 5 EN

Setiap developer pasti pernah mengalami momen ini: aplikasi lokal sudah berjalan mulus di localhost, tetapi bingung caranya menunjukkan hasil kerja itu kepada client atau tim tanpa harus deploy dulu ke VPS. Artikel ini membahas cara membuka akses publik langsung dari laptop sendiri menggunakan Cloudflare Tunnel, mulai dari instalasi cloudflared, konfigurasi routing, sampai tips agar tunnel tetap menyala walaupun laptop di-restart.

1. Pendahuluan

Sebagai sysadmin atau developer, kita pasti pernah menghadapi dilema klasik ini. Ada proyek kecil yang sudah jadi, atau eksperimen home lab yang ingin diakses dari luar rumah, tetapi sewa VPS terasa berlebihan hanya untuk sekadar demo atau testing. Laptop sendiri sudah cukup kuat untuk menjalankan aplikasi itu, masalahnya hanya satu: bagaimana caranya visitor dari internet dapat mengaksesnya.

Cara lama untuk membuka akses ke jaringan lokal biasanya melalui port forwarding di router. Cara ini memiliki banyak masalah di lapangan. Sysadmin harus login ke router, membuka port tertentu ke publik, lalu berharap IP publik rumah tidak berubah-ubah. Membuka port ke internet juga memperbesar attack surface, karena attacker dapat langsung mengetuk port itu untuk mencari celah. Belum lagi jika ISP menerapkan CGNAT (Carrier-Grade NAT), yaitu kondisi saat satu IP publik digunakan bersama oleh banyak pelanggan sekaligus. Jika ISP menggunakan CGNAT, laptop kita tidak pernah benar-benar memiliki IP publik sendiri, sehingga port forwarding tidak akan berfungsi sama sekali.

Solusinya ada di Cloudflare Tunnel, alat gratis dari Cloudflare yang membuat jembatan virtual antara laptop kita dan jaringan Cloudflare. Kita tidak perlu membuka port apa pun di router, tidak perlu IP publik statis, dan tetap mendapatkan domain dengan HTTPS aktif. Semua trafik dari visitor melalui jalur terenkripsi yang diinisiasi dari sisi laptop, sehingga router dan firewall ISP paling ketat sekalipun tidak menjadi halangan.

2. Konsep Dasar: Bagaimana cloudflared Bekerja?

Cara paling mudah membayangkan cara kerja Cloudflare Tunnel adalah seperti memasang pipa paralon tertutup dari laptop langsung ke server Cloudflare. Pipa ini dibuat oleh cloudflared, daemon kecil yang berjalan di laptop kita. Begitu pipa itu terbentuk, laptop yang memulai koneksi keluar menuju Cloudflare, bukan sebaliknya. Karena arah koneksinya keluar, router dan firewall di rumah tidak perlu membuka port masuk sama sekali. Saat ada visitor mengakses domain kita, request itu masuk ke jaringan Cloudflare, melalui pipa terenkripsi tadi, sampai ke aplikasi lokal di laptop, lalu hasilnya dikirim balik melalui jalur yang sama.

Ada tiga keuntungan utama yang langsung terasa begitu tunnel ini aktif:

  • HTTPS otomatis: Cloudflare menyediakan sertifikat SSL untuk domain kita tanpa perlu mengurus certificate sendiri melalui Let's Encrypt atau tool lain.
  • IP publik laptop tetap tersembunyi: Visitor hanya melihat IP milik Cloudflare, bukan IP asli laptop kita. Hal ini membuat laptop jauh lebih aman dari percobaan DDoS langsung, karena attacker tidak tahu ke mana harus menembak.
  • Menembus firewall ISP paling ketat: Karena tunnel dibuat dari sisi laptop (koneksi outbound), metode ini tetap berjalan meskipun laptop ada di belakang CGNAT atau firewall kampus maupun kantor yang biasanya memblokir koneksi masuk.

3. Persiapan Sebelum Memulai

Sebelum masuk ke langkah teknis, pastikan tiga hal berikut sudah siap:

  • Aplikasi web lokal yang sudah berjalan di laptop, misalnya di localhost:8080. Aplikasi tersebut dapat berupa aplikasi Node.js, PHP, Python, atau container Docker, apa saja yang dapat diakses melalui browser di jaringan lokal.
  • Akun Cloudflare. Free tier sudah cukup untuk semua langkah di artikel ini, tidak perlu paket berbayar.
  • Domain pribadi yang nameserver-nya sudah diarahkan ke Cloudflare. Domain ini wajib sudah aktif sebagai zone di dashboard Cloudflare sebelum kita mulai membuat tunnel.

4. Langkah-Langkah Konfigurasi Cloudflared

Langkah 1: Instalasi CLI cloudflared

Instalasi cloudflared berbeda-beda tergantung sistem operasi laptop kita. Berikut perintah untuk tiga platform utama.

macOS, melalui Homebrew:

brew install cloudflared

Linux (Ubuntu/Debian), melalui repository resmi Cloudflare di pkg.cloudflare.com:

sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt-get update && sudo apt-get install cloudflared
Catatan: Cloudflare pernah merotasi public key repository ini pada akhir tahun 2025. Jika kita menyalin perintah dari tutorial lama yang masih menggunakan key lama, instalasi dapat gagal dengan error verifikasi GPG. Selalu gunakan perintah generate keyring seperti di atas, bukan key yang sudah pernah disimpan sebelumnya.

Windows, melalui winget:

winget install --id Cloudflare.cloudflared -e

Memilih jalur alternatif, unduh langsung file .msi atau .exe dari halaman Releases resmi cloudflared di GitHub, lalu jalankan installer-nya seperti aplikasi Windows pada umumnya.

Setelah instalasi selesai, verifikasi versi yang terpasang:

cloudflared --version

Langkah 2: Autentikasi Akun

Hubungkan cloudflared di laptop dengan akun Cloudflare kita melalui perintah berikut:

cloudflared tunnel login

Perintah ini membuka jendela browser secara otomatis. Lakukan login ke akun Cloudflare, lalu pilih domain (zone) yang ingin digunakan untuk tunnel. Setelah dikonfirmasi, Cloudflare menyimpan file sertifikat cert.pem di direktori ~/.cloudflared/. File ini menjadi bukti bahwa laptop kita memiliki izin membuat tunnel dan mengatur DNS di domain tersebut.

Langkah 3: Membuat Tunnel Baru

Buat identitas tunnel baru melalui terminal. Beri nama yang mudah dikenali, misalnya laptop-server:

cloudflared tunnel create laptop-server

Perintah ini menghasilkan sebuah Tunnel ID berupa UUID unik, sekaligus membuat file credentials berformat JSON di ~/.cloudflared/<TUNNEL-ID>.json. Catat Tunnel ID ini karena akan kita gunakan di langkah berikutnya. Jika lupa, periksa kembali kapan saja dengan:

cloudflared tunnel list

Langkah 4: Konfigurasi File Rute config.yml

Buat file config.yml di direktori ~/.cloudflared/. File ini berisi ingress rule, yaitu aturan yang memetakan setiap hostname ke layanan lokal tertentu di laptop kita.

tunnel: <TUNNEL-ID>
credentials-file: /home/user/.cloudflared/<TUNNEL-ID>.json

ingress:
  - hostname: app.contoh.com
    service: http://localhost:8080
  - service: http_status:404
Tips Mentor: Ganti <TUNNEL-ID> dengan UUID dari Langkah 3, dan sesuaikan credentials-file dengan path asli di laptop kita. Baris hostname adalah domain yang akan diketik visitor di browser, sedangkan service adalah alamat aplikasi lokal yang ingin kita ekspos. Baris terakhir service: http_status:404 wajib ada sebagai catch-all rule, penampung untuk trafik yang tidak cocok dengan hostname mana pun di atasnya. Jika kita memiliki beberapa aplikasi, cukup tambahkan baris hostname baru sebelum baris catch-all ini.

Langkah 5: Menghubungkan DNS

Arahkan subdomain ke tunnel yang sudah dibuat, langsung melalui CLI tanpa perlu membuka dashboard web Cloudflare:

cloudflared tunnel route dns laptop-server app.contoh.com

Perintah ini otomatis membuat CNAME record di zone domain kita, mengarah ke subdomain <TUNNEL-ID>.cfargotunnel.com milik tunnel laptop-server. Record ini baru meneruskan trafik jika tunnel-nya sedang berjalan, sehingga dapat dilanjutkan ke langkah terakhir.

Langkah 6: Pengujian

Nyalakan tunnel dengan perintah:

cloudflared tunnel run laptop-server

Jika konfigurasi benar, terminal menampilkan log koneksi ke server Cloudflare tanpa error. Buka https://app.contoh.com di browser, dan aplikasi lokal di laptop kita sudah dapat diakses oleh visitor dari mana saja, lengkap dengan HTTPS aktif.

5. Pro-Tips untuk Sysadmin: Naik Kelas ke Level Production

Otomatisasi

Menjalankan tunnel manual melalui terminal memiliki risikonya: begitu terminal ditutup atau laptop reboot, tunnel ikut mati. Solusinya, daftarkan cloudflared sebagai system service agar otomatis menyala di background.

Di Linux, pastikan config.yml sudah ada di ~/.cloudflared/, lalu jalankan:

sudo cloudflared --config /home/user/.cloudflared/config.yml service install
sudo systemctl start cloudflared
sudo systemctl status cloudflared

Perintah service install mendaftarkan unit cloudflared.service di systemd. Pantau log-nya kapan saja melalui journalctl -u cloudflared -f.

Di Windows, jalankan Command Prompt sebagai Administrator, lalu eksekusi cloudflared.exe service install dari direktori tempat cloudflared.exe berada. Perintah ini mendaftarkan Windows Service bernama Cloudflared, yang dapat diperiksa statusnya melalui aplikasi Services bawaan Windows atau melalui sc query Cloudflared.

Keamanan Ekstra (Zero Trust)

Jika website lokal itu bersifat privat, misalnya dashboard internal atau tool khusus tim, jangan biarkan siapa saja mengaksesnya hanya karena sudah mengetahui domainnya. Kunci akses ini melalui Cloudflare Access, bagian dari Zero Trust platform milik Cloudflare.

Caranya melalui dashboard Zero Trust:

  1. Buka menu Access controlsApplications, lalu klik Add an application.
  2. Pilih tipe Self-hosted and private → Public DNS, lalu Continue
  3. Isi subdomain dan domain sesuai hostname tunnel kita, misalnya app.contoh.com.
  4. Pada Access policies, klik Create new policy.
  5. Pada Policy rules dengan aturan Include, pilih Login Methods: One-time PIN.
  6. Lalu, Add require (AND), pilih Emails: alamat email untuk membatasi email tertentu, agar tidak sembarang orang dapat meminta kode OTP.
  7. Masukkan Policy name dan Action = Allow. Lalu Save policy.
  8. Lalu Create untuk create application.

Lapisan ini memastikan bahwa walaupun domain bocor ke publik, hanya user dengan email yang sudah diizinkan yang dapat masuk. Kombinasi Cloudflare Tunnel dan Access ini membuat aplikasi privat di laptop kita memiliki lapisan keamanan setara aplikasi enterprise, tanpa biaya tambahan.

6. Kesimpulan

Cloudflare Tunnel mengubah laptop biasa menjadi server yang dapat diakses publik tanpa biaya sewa VPS, tanpa membuka port di router, dan tetap aman dari eksposur IP publik. Cukup install cloudflared, autentikasi, buat tunnel, atur config.yml, arahkan DNS, lalu jalankan. Untuk kebutuhan yang lebih serius, daftarkan sebagai system service dan tambahkan Cloudflare Access agar akses tetap terkontrol.

Semua langkah di atas dapat dicoba langsung dari laptop yang sedang digunakan sekarang juga. Mulai dari proyek kecil, eksperimen, atau home lab pribadi, lalu jangan takut bereksperimen lebih jauh begitu terbiasa dengan alurnya.

Tutorial ini membantu? Traktir kami segelas kopi agar kami tetap semangat menulis panduan open source lainnya!

Traktir Kopi

Related Posts