Cloudflare Tunnel adalah fitur dari Cloudflare yang memungkinkan aplikasi lokal atau aplikasi di server bisa diakses dari internet tanpa membuka port publik secara langsung.
Biasanya saat mencoba Cloudflare Tunnel secara cepat, kita memakai domain random seperti trycloudflare.com.
Namun untuk penggunaan yang lebih rapi dan profesional, kita bisa menggunakan domain sendiri, misalnya:
https://dev.domainmu.com
Pada tutorial ini kita akan membuat Cloudflare Tunnel menggunakan domain sendiri.
Contoh Kasus
Misalnya saya punya aplikasi lokal yang berjalan di port:
http://localhost:4000
Lalu saya ingin aplikasi tersebut bisa diakses menggunakan subdomain:
https://dev.domainmu.com
Syarat Sebelum Mulai
- Domain sudah aktif.
- Domain sudah diarahkan ke Cloudflare.
- Cloudflared sudah terinstall di komputer/server.
- Aplikasi lokal sudah berjalan, misalnya di
localhost:4000.
1. Login Cloudflare dari Terminal
Jalankan perintah berikut:
cloudflared tunnel login
Nanti browser akan terbuka. Login ke akun Cloudflare, lalu pilih domain yang ingin digunakan.
Setelah berhasil, Cloudflare akan membuat file sertifikat di komputer kita.
2. Buat Named Tunnel
Buat tunnel baru dengan nama bebas. Contoh:
cloudflared tunnel create billing-dev
Setelah berhasil, akan muncul UUID tunnel. Simpan UUID tersebut karena nanti dipakai di file konfigurasi.
Untuk melihat daftar tunnel yang sudah dibuat, jalankan:
cloudflared tunnel list
3. Hubungkan Subdomain ke Tunnel
Misalnya kita ingin memakai subdomain:
dev.domainmu.com
Jalankan perintah:
cloudflared tunnel route dns billing-dev dev.domainmu.com
Perintah tersebut akan membuat DNS record di Cloudflare yang mengarah ke tunnel.
4. Buat File Konfigurasi Tunnel
Di macOS atau Linux, file konfigurasi biasanya berada di:
~/.cloudflared/config.yml
Buat atau edit file tersebut:
nano ~/.cloudflared/config.yml
Isi konfigurasi seperti berikut:
tunnel: UUID_TUNNEL_KAMU
credentials-file: /Users/USERNAME_KAMU/.cloudflared/UUID_TUNNEL_KAMU.json
ingress:
- hostname: dev.domainmu.com
service: http://localhost:4000
- service: http_status:404
Ganti bagian berikut:
UUID_TUNNEL_KAMUdengan UUID tunnel milikmu.USERNAME_KAMUdengan username komputer/server kamu.dev.domainmu.comdengan subdomain milikmu.http://localhost:4000dengan alamat aplikasi lokal kamu.
5. Jalankan Tunnel
Setelah konfigurasi selesai, jalankan tunnel:
cloudflared tunnel run billing-dev
Sekarang coba buka domain:
https://dev.domainmu.com
Jika aplikasi lokal berjalan dengan benar, maka aplikasi tersebut sudah bisa diakses menggunakan domain sendiri.
Contoh Konfigurasi Lengkap
Misalnya nama tunnel adalah billing-dev, domain yang digunakan adalah billing-dev.domainmu.com, dan aplikasi berjalan di port 4000.
tunnel: 12345678-abcd-1234-abcd-1234567890ab
credentials-file: /Users/niam/.cloudflared/12345678-abcd-1234-abcd-1234567890ab.json
ingress:
- hostname: billing-dev.domainmu.com
service: http://localhost:4000
- service: http_status:404
Jalankan:
cloudflared tunnel run billing-dev
Lalu akses:
https://billing-dev.domainmu.com
Menjalankan Cloudflare Tunnel Otomatis
Jika ingin tunnel berjalan otomatis sebagai service, bisa jalankan:
cloudflared service install
Atau jika ingin menjalankan sebagai service system:
sudo cloudflared service install
Setelah itu tunnel bisa berjalan otomatis tanpa harus menjalankan command manual setiap saat.
Troubleshooting
1. Domain Tidak Bisa Dibuka
Pastikan DNS subdomain sudah berhasil dibuat di Cloudflare. Cek juga apakah tunnel sedang berjalan.
cloudflared tunnel list
2. Muncul Error 404
Biasanya hostname yang diakses tidak cocok dengan konfigurasi di bagian ingress.
Pastikan nama domain di konfigurasi sama persis dengan domain yang dibuka di browser.
3. Aplikasi Tidak Muncul
Pastikan aplikasi lokal benar-benar berjalan.
curl http://localhost:4000
Jika dari lokal saja belum bisa diakses, maka Cloudflare Tunnel juga tidak akan bisa meneruskannya.
4. Port Aplikasi Berbeda
Jika aplikasi berjalan di port lain, misalnya 3000, ubah bagian service:
service: http://localhost:3000
Kesimpulan
Cloudflare Tunnel sangat berguna untuk membuka akses aplikasi lokal atau server internal ke internet tanpa harus membuka port publik secara langsung. Dengan menggunakan domain sendiri, akses aplikasi menjadi lebih rapi dan profesional.
Ringkasnya, langkahnya adalah:
- Login Cloudflare dengan
cloudflared tunnel login. - Buat tunnel dengan
cloudflared tunnel create. - Arahkan DNS subdomain ke tunnel.
- Buat file konfigurasi
config.yml. - Jalankan tunnel menggunakan
cloudflared tunnel run.
Dengan cara ini, aplikasi lokal seperti dashboard, aplikasi development, API backend, atau aplikasi internal bisa diakses menggunakan domain sendiri seperti:
https://dev.domainmu.com

No comments:
Post a Comment