Di artikel sebelumnya tentang TryCloudflare, kita membahas cara cepat membagikan website lokal ke customer lewat URL sementara. Pendekatan itu cocok untuk demo singkat: dijalankan beberapa jam, lalu dimatikan. Tetapi ada kebutuhan lain yang sifatnya lebih permanen. Misalnya, kita ingin sebuah aplikasi internal di kantor bisa diakses tim dari mana saja, atau website yang berjalan di server di rumah perlu punya alamat tetap yang aman, tanpa harus membuka port di router dan tanpa membeli IP publik statis.
Untuk kebutuhan seperti itu, jawabannya adalah Cloudflare Tunnel. Jika TryCloudflare adalah versi “sekali pakai”, Cloudflare Tunnel adalah versi yang dikelola dengan benar: punya nama, terhubung ke domain kita sendiri, berjalan sebagai service, dan bisa dilindungi dengan kontrol akses. Artikel ini menjelaskan apa itu Cloudflare Tunnel, kapan sebaiknya dipakai, dan langkah-langkah membuatnya.

Apa itu Cloudflare Tunnel?
Cloudflare Tunnel (dulu dikenal sebagai Argo Tunnel) adalah cara menghubungkan server atau aplikasi lokal ke jaringan Cloudflare melalui koneksi keluar (outbound) yang terenkripsi. Sebuah program kecil bernama cloudflared dijalankan di komputer atau server kita, lalu ia membuat “terowongan” ke Cloudflare. Trafik dari pengunjung masuk lewat domain kita di Cloudflare, lalu diteruskan melalui terowongan tadi ke aplikasi lokal.
Hal yang membuatnya menarik: kita tidak perlu membuka port apa pun di firewall atau router. Server lokal tidak perlu punya IP publik dan tidak menerima koneksi masuk langsung dari internet. Semua koneksi diawali dari dalam (dari cloudflared menuju Cloudflare), sehingga permukaan serangan jauh lebih kecil dibanding port forwarding tradisional.
Cloudflare Tunnel vs TryCloudflare
Keduanya menggunakan cloudflared dan teknologi terowongan yang sama, tetapi tujuannya berbeda.
- TryCloudflare (Quick Tunnels) membuat URL acak berakhiran
trycloudflare.com, tanpa akun, tanpa domain. Cocok untuk preview cepat dan sementara. - Cloudflare Tunnel (named tunnel) terhubung ke domain milik kita sendiri (misalnya
app.domainanda.com), berjalan persisten, dan bisa dikelola dari dashboard. Cocok untuk akses jangka panjang.
Singkatnya: gunakan TryCloudflare untuk demo sesaat, dan Cloudflare Tunnel untuk sesuatu yang ingin tetap hidup dan diakses berulang dengan alamat yang stabil.
Kapan Cloudflare Tunnel berguna?
Beberapa situasi yang sangat terbantu oleh Cloudflare Tunnel:
- Staging permanen. Website yang sedang dikembangkan bisa punya alamat tetap untuk direview customer kapan saja, tanpa hosting terpisah.
- Self-hosting dari rumah atau kantor. Server di belakang internet rumahan (yang biasanya tidak punya IP publik atau di belakang CGNAT) tetap bisa diakses dari luar.
- Aplikasi internal. Dashboard, panel admin, atau tool tim bisa diakses dari mana saja tanpa VPN, dan bisa dikunci hanya untuk orang tertentu.
- Menghindari port forwarding. Tidak perlu mengutak-atik router atau membuka port yang berisiko.
- Akses ke perangkat via SSH/RDP. Cloudflare Tunnel juga bisa meneruskan koneksi non-web secara aman.
Yang perlu disiapkan
Sebelum mulai, siapkan hal berikut:
- Akun Cloudflare (versi gratis sudah cukup untuk sebagian besar kebutuhan).
- Sebuah domain yang nameserver-nya sudah diarahkan ke Cloudflare.
cloudflaredterpasang di mesin tempat aplikasi berjalan.- Aplikasi atau website yang sudah berjalan secara lokal, misalnya di
http://localhost:8080.
Untuk memasang cloudflared, Cloudflare menyediakan paket untuk Windows, macOS, dan Linux. Di Linux berbasis Debian/Ubuntu, biasanya cukup mengunduh paket .deb resmi atau menambahkan repository Cloudflare, lalu memasangnya lewat package manager.
Dua cara membuat tunnel: dashboard atau CLI
Ada dua pendekatan. Yang pertama adalah lewat dashboard Zero Trust (remotely-managed): kita membuat tunnel di panel Cloudflare, lalu menyalin satu perintah berisi token untuk dijalankan di server. Konfigurasi ingress dan domain diatur dari web, sehingga lebih mudah bagi pemula. Yang kedua adalah lewat CLI (locally-managed): semua diatur dari file konfigurasi di server. Cara CLI memberi kontrol penuh dan mudah dimasukkan ke version control. Berikut langkah versi CLI.
Langkah membuat Cloudflare Tunnel lewat CLI
1. Login
Jalankan perintah berikut. Browser akan terbuka untuk memilih domain dan memberi izin. Setelah itu, sebuah sertifikat akan tersimpan di folder .cloudflared.
cloudflared tunnel login
2. Buat tunnel
Beri nama tunnel, misalnya website-staging. Perintah ini menghasilkan ID tunnel dan sebuah file kredensial berformat JSON.
cloudflared tunnel create website-staging
3. Buat file konfigurasi
Buat file config.yml di folder .cloudflared. Isinya menentukan tunnel mana yang dipakai, lokasi file kredensial, dan aturan ingress (domain mana diteruskan ke service lokal mana).
tunnel: website-staging
credentials-file: /home/user/.cloudflared/<TUNNEL-ID>.json
ingress:
- hostname: staging.domainanda.com
service: http://localhost:8080
- service: http_status:404
Baris terakhir adalah aturan wajib: semua trafik yang tidak cocok dengan hostname mana pun akan dijawab dengan 404.
4. Arahkan domain ke tunnel
Perintah ini otomatis membuat record DNS (CNAME) di Cloudflare yang mengarahkan subdomain ke tunnel kita.
cloudflared tunnel route dns website-staging staging.domainanda.com
5. Jalankan tunnel
cloudflared tunnel run website-staging
Setelah berjalan, buka https://staging.domainanda.com di browser. Trafik akan masuk melalui Cloudflare, lewat terowongan, lalu sampai ke aplikasi lokal di port 8080, lengkap dengan sertifikat HTTPS otomatis dari Cloudflare.
Menjalankan tunnel sebagai service
Menjalankan tunnel di terminal hanya bertahan selama jendela itu terbuka. Agar tunnel tetap hidup dan otomatis menyala saat server dinyalakan ulang, pasang sebagai service sistem.
sudo cloudflared service install
Di Linux, ini mendaftarkan cloudflared sebagai unit systemd sehingga berjalan di latar belakang secara permanen. Inilah yang membedakan Cloudflare Tunnel dari TryCloudflare: ia dirancang untuk hidup terus, bukan sekali pakai.
Mengunci akses dengan Cloudflare Access
Secara default, domain tunnel bisa diakses siapa saja yang tahu alamatnya. Untuk aplikasi internal atau staging yang sensitif, sebaiknya tambahkan lapisan otentikasi. Di sinilah Cloudflare Access (bagian dari Zero Trust) berperan.
Dengan Access, kita bisa membuat kebijakan seperti “hanya email dengan domain @perusahaan.com yang boleh masuk”, atau meminta login lewat Google, GitHub, atau one-time PIN ke email. Pengunjung harus lolos otentikasi sebelum trafiknya diteruskan ke aplikasi. Ini jauh lebih aman daripada sekadar mengandalkan URL yang sulit ditebak.
Catatan untuk WordPress dan website production
Cloudflare Tunnel bisa dipakai untuk menyajikan situs WordPress yang berjalan di server lokal atau VPS tanpa membuka port. Beberapa hal yang perlu diperhatikan:
- Pastikan
siteurldanhomedi WordPress memakai domain HTTPS yang benar agar tidak terjadi mixed content atau redirect loop. - Lindungi halaman
wp-admindanwp-login.phpdengan Cloudflare Access jika situs belum siap publik. - Untuk website production dengan trafik tinggi, integrasi payment, atau kebutuhan uptime tinggi, hosting/VPS yang dikelola dengan benar tetap lebih tepat. Tunnel unggul untuk akses aman dan fleksibel, bukan menggantikan infrastruktur production penuh.
Batasan yang perlu diingat
- Tunnel bergantung pada mesin lokal yang harus tetap menyala. Jika komputer mati, layanan ikut mati.
- Performa dibatasi oleh koneksi internet dan kemampuan server lokal kita.
- Domain harus dikelola di Cloudflare untuk named tunnel.
- Untuk beban kerja besar atau kebutuhan enterprise, beberapa fitur lanjutan berada di paket berbayar.
Kesimpulan
Cloudflare Tunnel adalah cara modern dan aman untuk menghubungkan aplikasi lokal ke internet tanpa membuka port, tanpa IP publik, dan tanpa perangkat tambahan. Jika TryCloudflare cocok untuk demo sesaat, Cloudflare Tunnel cocok untuk akses jangka panjang: staging permanen, self-hosting, aplikasi internal, hingga menyajikan website dengan domain sendiri.
Yang membuatnya layak dipelajari adalah keseimbangannya: mudah disiapkan, tetapi tetap bisa dikunci rapat dengan Cloudflare Access. Untuk developer yang sering bekerja dengan server lokal atau ingin self-host dengan aman, Cloudflare Tunnel adalah salah satu tool yang paling praktis untuk dimiliki.
Referensi
- Cloudflare Docs: Cloudflare Tunnel, https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/
- Cloudflare Docs: Create a tunnel (CLI), https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/get-started/create-local-tunnel/
- Cloudflare Docs: Cloudflare Access, https://developers.cloudflare.com/cloudflare-one/policies/access/


