Cara Menggunakan Cloudflare Tunnel dengan Domain Sendiri

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_KAMU dengan UUID tunnel milikmu.
  • USERNAME_KAMU dengan username komputer/server kamu.
  • dev.domainmu.com dengan subdomain milikmu.
  • http://localhost:4000 dengan 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:

  1. Login Cloudflare dengan cloudflared tunnel login.
  2. Buat tunnel dengan cloudflared tunnel create.
  3. Arahkan DNS subdomain ke tunnel.
  4. Buat file konfigurasi config.yml.
  5. 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