Cloudflare Tunnel untuk Mengexpose Localhost

ยท

2 min read

Cloudflare Tunnel untuk Mengexpose Localhost

Dari beberapa tahun yang lalu aku telah mengenal ngrok sebagai layanan yang dapat mengexpose localhost ke internet. Namun setup yang cukup rempong atau ribet membuat aku malas menggunakannya, terlebih saat subdomain atau alamat yang diberikan random, setidaknya untuk versi gratisnya.

Kemudian muncul serveo yang menawarkan kemudahan penggunaanya hanya dengan perintah ssh di terminal, dan itu gratis tanpa akun. Namun sayang sekali karena banyaknya penyalahgunaan terutama untuk phising, layanan tersebut akhirnya ditutup. Dan masih banyak lagi layanan-layanan yang serupa.

Aku mencoba menggunakan Cloudflare untuk DNS management yang tentu karena gratislah aku menggunakannya. Dan aku baru tahu kalau ternyata Cloudflare memiliki layanan tunneling untuk mengexpose localhost ke internet. Layanan tersebut adalah cloudflared.

Mari kita lihat apa saja fitur yang ditawarkan cloudflared ini, berikut diantaranya:
๐Ÿค‘ Bebas digunakan
๐Ÿ’Ž Tidak ada rate limit
๐Ÿ”’ Dukungan HTTPS
๐Ÿšซ Tidak akan mengexpose IP

Pertama, kita mulai dengan memasang paket cloudflared terlebih dahulu. Kita bisa referensikan ke dokumentasi resminya disini. Tersedia untuk Linux, macOS, Windows, bahkan Docker imagenya.

Setelah terpasang, untuk memverifikasi bahwa paket cloudflared ini sudah terpasang atau belum, kamu bisa jalankan perintah berikut.

cloudflared --version

Sebelum melangkah lebih jauh, pastikan kamu sudah terdaftar di Cloudflare dan sudah ada domain yang terparkir, nantinya domain tersebut akan dijadikan subdomain/alamat yang digunakan untuk tunneling ke localhost kita.

Kemudian kita harus login terlebih dahulu menggunakan cloudflared tersebut dengan akun yang sudah terdaftar di Cloudflare, kamu bisa ketikkan perintah dibawah ini dan masukkan kredensial saat jendela browser terbuka.

cloudflared tunnel login

Setelah masuk ke akun, kamu diharuskan memilih domain untuk dijadikan alamat tunelling, kemudian klik tombol Authorize untuk mengotorisasi.

Sekarang, mari kita coba untuk membuat tunnel pertama dengan menjalankan perintah seperti dibawah ini.

cloudflared tunnel create namaaplikasi

Selanjutnya tinggal buat entry subdomain custom baru dengan perintah dibawah ini.

cloudflared tunnel route dns namaaplikasi contoh.domain.com

Langkah terakhir, pastikan aplikasi kamu sudah jalan di local terlebih dahulu, maka aplikasi tersebut bisa di expose dengan mudah menggunakan perintah berikut.

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

Dan tada! aplikasi dari localhost kamu sudah bisa diakses oleh siapapun yang terhubung ke internet.

Jangan lupa untuk menyesuaikan perintah-perintah diatas seperti namaaplikasi, contoh.domain.com dan http://localhost:8080 sesuai dengan keadaan aplikasi yang ingin kamu expose.

Terima kasih.