Membuat Server Lokal Online dengan Cloudflare Zero Trust Tunnel

Rendio Simamora
Rendio Simamora
Membuat Server Lokal Online dengan Cloudflare Zero Trust Tunnel

Sudah setahun tidak posting blog, sepertinya inilah saatnya :D

Setelah beberapa tahun menggunakan Cloudflare CDN untuk website website yang saya kelola, akhir akhir ini saya mengulik fitur Cloudflare yang sangat keren *because its free. Fitur tersebut adalah Cloudflare Tunnel

Mengutip dari website cloudflare sendiri, Cloudflare Tunnel merupakan software tunnel yang memungkinkan Anda dengan cepat mengamankan dan mengenkripsi lalu lintas aplikasi ke semua jenis infrastruktur, sehingga dapat menyembunyikan alamat IP server web dan memblokir serangan langsung.

Cloudflare Tunnel memberi cara aman untuk menghubungkan sumber daya Anda ke Jaringan Cloudflare tanpa alamat IP publik.

Sangat menarik bukan? saya sendiri sudah menggunakan fitur ini beberapa bulan belakangan ini, dan hasilnya juga cukup memuaskan mengingat layanan ini free. Saya mengunakan Cloudflare Tunnel untuk mengakses server lokal yang ada di rumah saya. Konsepnya sama seperti ngrok tapi saya rasa ini lebih OP

Ini mungkin cocok jika anda ingin membuat online server e-Rapor dan lainnya yang "mungkin" hanya digunakan musiman atau mungkin untuk server dengan traffic yang tidak terlalu besar

Apa saja yang bisa dilakukan Cloudflare Tunnel?

Cloudflare Tunnel Network Design
Cloudflare Tunnel Network Design

Dengan Cloudflare Tunnel, Anda tidak mengirimkan lalu lintas ke IP eksternal — sebagai gantinya, daemon ringan di infrastruktur Anda ('cloudflared') membuat koneksi keluar saja ke jaringan global Cloudflare. Cloudflare Tunnel dapat menghubungkan server:

  • Web (HTTP, HTTPS)
  • TCP
  • SSH
  • RDP
  • Samba
  • dan lainnya

Dengan cara ini, Server Anda dapat melayani lalu lintas melalui Cloudflare tanpa rentan terhadap serangan yang melewati Cloudflare.

Konfigurasi

Ada dua jenis tunnel yaitu Quick Tunnel, dan Cloudflare Tunnel (Tunnel Biasa)

Prerequisite :

  1. Akun Cloudflare beserta Domain yang terhubung ke Nameserver Cloudflare (ex: example.com)
  2. Server (ex: Web Server XAMPP)
  3. Koneksi Internet

Quick Tunnel

Jika Anda hanya ingin melakukan pengujian, opsi Quick Tunnel adalah yang paling baik karena dengan quick tunnel, Anda tidak perlu memiliki nama domain sendiri.

Quick Tunnel memberikan subdomain random di trycloudflare.com, subdomain ini hanya sekali pakai, setelah disconnect kita akan diberikan subdomain baru ;)

Cara Penggunaan

  1. Silahkan download terlebih dahulu Server side Daemon Cloudflared, Software ini digunakan untuk menghubungkan server Anda ke Cloudflare.
    *Di tutorial ini saya menggunakan Sistem Operasi Windows
  2. Jalankan Web Server di localhost
  3. Jalankan command dibawah ini *sesuaikan localhost (Alamat Server) dan Port

    *sesuaikan cloudflared dengan path Daemon Cloudflared yang kita download tadi (ex: ./cloudflared-windows-amd64.exe)

    cloudflared tunnel --url http://localhost:8080

Batasan

Quick Tunnels memiliki batasan 200 permintaan yang sedang berlangsung secara bersamaan.
Jika Quick Tunnel mencapai batasnya, maka akan mereturn HTTP Response 429.
Hal ini bisa dihindari dengan menggunakan Cloudflare Tunnel

Screenshot

Menjalankan command cloudflared via Powershell Terminal
Cloudflared from Powershell Terminal
Akses server lokal dari Jaringan publik
Access server via Public Network

Cloudflare Tunnel

Cloudflare Tunnel merupakan tunnel yang lebih kompleks daripada Quick Tunnel, untuk menggunakan tunnel ini kita harus memiliki domain name yang terhubung ke nameserver Cloudflare

Jika kalian belum menghubungkan domain kalian ke Cloudflare kalian bisa cari tutorialnya di Google :D

Cara Penggunaan

Mirip seperti penggunaan Quick Tunnel, hanya saja ada sedikit langkah tambahan di Dashboard Zero Trust

1. Membuat Tunnel
  1. Login ke Dashboard Zero Trust > Networks > Tunnels > Create Tunnel
  2. Pilih opsi connector Cloudflared > Beri Nama Tunnel > Save Tunnel
  3. Selanjutnya kita perlu menginstall cloudflared sesuai dengan sistem operasi yang kita gunakan *Mohon ikuti instruksi pemasangan Cloudflared Connector dengan seksama.
    Dashboard Zero Trust create new tunnel
    Zero Trust Dashboard > Create new tunnel
    Running Cloudflared Command from CMD
    Running Cloudflared Command from CMD
  4. Klik Next
2. Menghubungkan aplikasi ke Tunnel
  1. Di tab Public Hostnames, tentukan subdomain, domain, dan path (opsional).
  2. Tentukan type service yang akan kalian share (ex: HTTP/S, TCP, RDP, SAMBA)
  3. Tentukan URL service kalian *sesuaikan dengan alamat server kamu (ex: localhost:80)
    Setting Connection Service Cloudflare Tunnel
    Setting Connection Cloudflare Tunnel Service
  4. Lakukan Pengaturan lainnya (opsional)
  5. Save tunnel

Screenshot

Tampilan aplikasi melalui URL Publik
Access server via Public Network

Kesimpulan

Saat ini Cloudflare Tunnel adalah pilihan yang paling baik dibandingkan yang lain (ex: ngrok), mengingat fitur ini masih gratis sampai saat ini, dan tidak memiliki batasan bandwidth.

Jika ada pertanyaan, mari diskusikan di kolom komentar ;)

Referensi : Cloudflare Tunnel Docs

POSTED IN:
Rendio Simamora
Rendio Simamora

Break The Limit !

Post a Comment