IT

Cara Menghubungkan Domain ke Cloudflare dan Membuat Server Lokal Bisa Diakses Internet

30 Oktober 2026

Ilustrasi Cloudflare Tunnel menghubungkan domain publik dengan website Laravel yang berjalan di server lokal melalui koneksi internet aman    Salin semua kolom

Punya website atau aplikasi yang masih berjalan di localhost? Yuk, belajar menghubungkan domain ke Cloudflare Tunnel agar server lokal bisa diakses dari internet tanpa IP publik dan port forwarding.

Cara Menghubungkan Domain ke Cloudflare dan Membuat Server Lokal Bisa Diakses Internet

Halo, teman-teman! 👋

Pernah nggak sih kalian membuat website atau aplikasi di komputer sendiri, semuanya berjalan lancar, tetapi begitu ingin memperlihatkannya kepada teman, klien, atau orang lain malah bingung bagaimana caranya?

Misalnya, kita sudah membuat aplikasi menggunakan Laravel dan berhasil menjalankannya di alamat:

http://localhost:8000

Atau mungkin kita memiliki web server sendiri di rumah maupun kantor yang hanya bisa diakses melalui jaringan lokal, seperti:

http://192.168.1.100:8000

Masalahnya, alamat tersebut tidak bisa langsung diakses oleh orang lain dari internet.

Biasanya kita mulai mencari informasi tentang IP publik, port forwarding, konfigurasi router, DNS, hingga SSL. Kedengarannya cukup teknis, ya?

Padahal, sekarang ada salah satu cara yang menurut saya cukup menarik untuk dipelajari, yaitu menggunakan Cloudflare Tunnel.

Dengan Cloudflare Tunnel, kita bisa menghubungkan website yang berjalan di server lokal ke domain publik tanpa harus membuka port inbound pada router atau memiliki IP publik statis.

Di artikel ini, saya akan membahas cara kerjanya dan langkah-langkah konfigurasi yang bisa kalian ikuti.

Kenalan Dulu dengan Cloudflare Tunnel

Sebelum mulai praktik, kita pahami sedikit konsepnya.

Cloudflare merupakan salah satu penyedia layanan infrastruktur internet yang menawarkan berbagai fitur, seperti DNS, CDN, perlindungan DDoS, dan keamanan website.

Sementara itu, Cloudflare Tunnel merupakan layanan yang memungkinkan server kita membuat koneksi keluar menuju jaringan Cloudflare.

Jadi, alih-alih membuka port router supaya orang dari internet bisa masuk langsung ke server, kita menjalankan sebuah aplikasi bernama cloudflared yang menghubungkan server lokal dengan Cloudflare.

Sederhananya, alurnya seperti ini:

Pengunjung Internet → Domain Website → Cloudflare → Cloudflare Tunnel → Server Lokal → Aplikasi Laravel

Misalnya, kita memiliki aplikasi Laravel di komputer sendiri:

http://localhost:8000

Setelah dikonfigurasi melalui Cloudflare Tunnel, kita bisa membuatnya diakses melalui domain seperti:

https://demo.domainanda.com

Alamat tersebut hanya contoh. Nantinya kita menggunakan domain yang benar-benar kita miliki.

Menariknya, kita juga tidak harus memiliki IP publik statis untuk menggunakan metode ini.

Namun perlu diingat, Cloudflare Tunnel bukan berarti aplikasi otomatis aman dari semua serangan. Keamanan aplikasi, autentikasi, pembaruan server, dan pengaturan akses tetap menjadi tanggung jawab kita.

Apa Saja yang Harus Disiapkan?

Sebelum memulai, pastikan beberapa kebutuhan berikut sudah tersedia:

  1. Komputer atau server yang menjalankan website.
  2. Koneksi internet yang aktif dan stabil.
  3. Website atau aplikasi yang sudah dapat diakses secara lokal.
  4. Domain aktif yang kita miliki.
  5. Akun Cloudflare.
  6. Akses untuk mengubah nameserver domain.
  7. Hak administrator pada komputer atau server untuk menginstal cloudflared.

Untuk tutorial ini, kita menggunakan contoh aplikasi Laravel dengan port 8000.

Namun, konsep yang sama juga bisa digunakan untuk aplikasi berbasis PHP, Node.js, Python, dan web server lainnya, selama layanan tersebut dapat dijangkau oleh cloudflared.

Langkah 1 — Daftarkan Domain ke Cloudflare

Pertama, buka website resmi Cloudflare:

https://dash.cloudflare.com/

Buat akun jika belum memilikinya, kemudian login ke dashboard Cloudflare.

Setelah masuk, tambahkan domain yang ingin digunakan.

Sebagai contoh, kita mempunyai domain:

domainanda.com

Masukkan nama domain tersebut tanpa https://.

Selanjutnya, ikuti proses penambahan domain dan pilih paket yang sesuai. Untuk kebutuhan dasar seperti pada tutorial ini, kita dapat memulai dengan fitur yang tersedia pada paket Free.

Cloudflare akan menampilkan DNS record yang terdeteksi. Periksa bagian ini dengan teliti.

Kalau domain tersebut sudah digunakan untuk website atau email perusahaan, jangan asal menghapus DNS record yang ada.

Pastikan record penting, seperti A, CNAME, MX, TXT, SPF, DKIM, dan konfigurasi lain yang memang digunakan, sudah diperiksa.

Khusus domain yang menggunakan DNSSEC, periksa juga petunjuk migrasi DNSSEC sebelum mengganti nameserver.

Tujuannya sederhana: jangan sampai hanya karena ingin memasang Cloudflare, website atau email yang sebelumnya sudah berjalan malah terganggu.

Langkah 2 — Mengubah Nameserver Domain

Setelah domain ditambahkan, Cloudflare akan memberikan nameserver yang harus digunakan.

Bentuknya biasanya mirip seperti:

nama1.ns.cloudflare.com

nama2.ns.cloudflare.com

Nama tersebut hanya ilustrasi. Gunakan nameserver yang benar-benar diberikan pada akun Cloudflare kalian.

Selanjutnya:

  1. Login ke tempat kalian membeli domain.
  2. Cari pengaturan Nameserver atau DNS Management.
  3. Ganti nameserver lama dengan nameserver yang diberikan Cloudflare.
  4. Simpan perubahan.
  5. Kembali ke Cloudflare untuk memeriksa status domain.

Perubahan nameserver memerlukan waktu untuk diproses. Dalam beberapa kasus, prosesnya bisa berlangsung hingga sekitar 24 jam.

Jika status domain sudah Active, artinya Cloudflare telah mengenali domain tersebut.

Sekarang kita bisa melanjutkan ke konfigurasi tunnel.

Langkah 3 — Pastikan Website Lokal Sudah Berjalan

Sebelum menghubungkan domain, pastikan aplikasi lokal benar-benar dapat diakses.

Misalnya, kita memiliki project Laravel dan ingin menjalankannya sementara untuk pengujian.

Buka terminal pada direktori project Laravel, lalu jalankan:

php artisan serve --host=127.0.0.1 --port=8000

Jika berhasil, aplikasi dapat dicoba melalui browser:

http://127.0.0.1:8000

Pastikan halaman Laravel muncul dengan normal.

Kenapa langkah ini penting?

Karena Cloudflare Tunnel bertugas meneruskan koneksi menuju aplikasi kita. Kalau aplikasi lokalnya belum berjalan, tentu Cloudflare juga tidak bisa menampilkan website tersebut.

Catatan penting: perintah php artisan serve cocok digunakan untuk development dan pengujian. Jika website akan digunakan secara publik dalam jangka panjang, sebaiknya gunakan web server produksi seperti Nginx atau Apache dengan PHP-FPM sesuai kebutuhan.

Langkah 4 — Membuat Cloudflare Tunnel

Sekarang masuk ke bagian utamanya.

Buka kembali dashboard Cloudflare:

https://dash.cloudflare.com/

Cari menu:

Networking → Tunnels

Pada beberapa tampilan atau versi dashboard, letaknya bisa sedikit berbeda.

Pilih Create Tunnel.

Selanjutnya, beri nama tunnel.

Sebagai contoh:

laravel-local-server

Nama ini hanya digunakan sebagai identitas tunnel di dashboard Cloudflare.

Setelah itu, klik tombol untuk membuat tunnel.

Cloudflare akan menampilkan pilihan sistem operasi, seperti Windows, Linux, atau macOS, berikut instruksi instalasi cloudflared.

Pilih sesuai sistem operasi server kalian.

Langkah 5 — Instal Cloudflared di Windows

Kalau aplikasi berjalan di komputer Windows, pilih sistem operasi Windows pada halaman konfigurasi tunnel.

Cloudflare akan menyediakan instruksi untuk mengunduh dan menjalankan cloudflared.

Kalian bisa mendapatkan aplikasinya melalui halaman resmi:

https://developers.cloudflare.com/tunnel/downloads/

Setelah cloudflared tersedia, buka Command Prompt atau PowerShell sebagai Administrator.

Pastikan cloudflared dapat dijalankan dengan mengecek versinya:

cloudflared --version

Jika aplikasi berhasil dikenali, terminal akan menampilkan informasi versi cloudflared.

Kemudian kembali ke dashboard Cloudflare dan salin perintah instalasi tunnel yang diberikan.

Contoh bentuk perintah untuk memasang connector sebagai Windows Service:

cloudflared.exe service install <TUNNEL_TOKEN>

Ganti placeholder tersebut dengan token asli dari Cloudflare. Lebih aman lagi, salin langsung perintah yang disediakan dashboard.

Token tunnel bersifat rahasia. Jangan membagikannya melalui artikel, screenshot publik, repository Git, ataupun pesan kepada orang yang tidak berwenang.

Jalankan perintah tersebut dengan hak Administrator.

Jika instalasi berhasil, cloudflared dapat dijalankan sebagai Windows Service sehingga tidak perlu selalu membuka terminal secara manual.

Pastikan servicenya berjalan dan dashboard Cloudflare menunjukkan koneksi tunnel yang sehat.

Langkah 6 — Instal Cloudflared di Ubuntu atau Linux

Kalau menggunakan Ubuntu atau Linux, prinsipnya sama.

Pada halaman Cloudflare Tunnel, pilih Linux lalu ikuti perintah instalasi sesuai distribusi dan arsitektur server.

Petunjuk unduhan tersedia di:

https://developers.cloudflare.com/tunnel/downloads/

Setelah cloudflared berhasil diinstal, verifikasi dengan perintah:

cloudflared --version

Kemudian jalankan perintah instalasi service sesuai yang diberikan Cloudflare.

Secara umum, bentuknya seperti ini:

sudo cloudflared service install <TUNNEL_TOKEN>

Periksa status servicenya menggunakan:

sudo systemctl status cloudflared

Jika servicenya berjalan, server akan mempertahankan koneksi tunnel selama kondisi jaringan dan proses cloudflared normal.

Perlu diingat, token tunnel harus tetap dirahasiakan.

Untuk server produksi, saya lebih menyarankan menjalankan cloudflared sebagai service agar bisa aktif ketika server dinyalakan ulang.

Langkah 7 — Menghubungkan Domain dengan Aplikasi Lokal

Setelah tunnel aktif, saatnya menghubungkan domain dengan aplikasi kita.

Buka tunnel yang tadi dibuat pada dashboard Cloudflare.

Masuk ke tab Routes, kemudian pilih Add route → Published application.

Di sini kita akan membuat hubungan antara alamat website publik dan alamat aplikasi lokal.

Contohnya:

Subdomain: demo

Domain: domainanda.com

Service URL: http://127.0.0.1:8000

Dengan konfigurasi tersebut, alamat publik aplikasi menjadi:

https://demo.domainanda.com

Sementara itu, aplikasi aslinya tetap berjalan melalui:

http://127.0.0.1:8000

Perlu diperhatikan bahwa alamat 127.0.0.1 hanya sesuai apabila cloudflared berjalan di komputer atau server yang sama dengan aplikasi.

Kalau cloudflared berada pada server yang berbeda, gunakan alamat jaringan yang bisa dijangkau dari komputer cloudflared, misalnya:

http://192.168.1.100:8000

Tentunya, layanan tersebut harus benar-benar mendengarkan koneksi pada alamat jaringan yang sesuai, dan firewall internal harus mengizinkan koneksinya.

Setelah pengaturan selesai, simpan Published Application Route.

Cloudflare akan menghubungkan hostname tersebut dengan tunnel melalui DNS. Jika ingin mengatur DNS secara manual, ikuti petunjuk CNAME tunnel resmi dan jangan membuat record yang bertentangan dengan hostname yang sudah ada.

Langkah 8 — Uji Aplikasi dari Internet

Sekarang kita sampai pada bagian yang paling menarik.

Coba buka alamat domain melalui browser:

https://demo.domainanda.com

Jika semuanya dikonfigurasi dengan benar, website yang sebelumnya hanya bisa dibuka melalui localhost sekarang dapat diakses dari internet.

Coba juga menggunakan smartphone dengan jaringan seluler, bukan Wi-Fi lokal.

Tujuannya untuk memastikan bahwa website benar-benar bisa diakses dari luar jaringan.

Kalau berhasil, selamat! 🎉

Kalian sudah berhasil menghubungkan aplikasi lokal dengan domain melalui Cloudflare Tunnel.

Tetapi jangan berhenti sampai di sini. Kalau aplikasinya akan digunakan orang lain, kita masih perlu memperhatikan konfigurasi keamanan dan kestabilannya.

Langkah 9 — Pengaturan Laravel untuk Domain Publik

Jika aplikasi yang digunakan berbasis Laravel, ada beberapa hal penting yang perlu diperiksa.

Salah satunya adalah pengaturan APP_URL pada file .env.

Contohnya:

APP_URL=https://demo.domainanda.com

Untuk aplikasi yang digunakan secara publik, nonaktifkan debug mode:

APP_DEBUG=false

Pastikan juga konfigurasi session, HTTPS, serta trusted proxy sesuai dengan arsitektur aplikasi dan reverse proxy yang digunakan.

Jika mengubah konfigurasi Laravel, kita bisa membersihkan cache konfigurasi bila diperlukan:

php artisan optimize:clear

Jangan mengubah atau membuat ulang APP_KEY pada aplikasi yang sudah memiliki data terenkripsi.

Selain itu, pastikan web server Laravel mengarah ke folder public, bukan ke root source code project.

Kalau website menggunakan Vite, periksa juga apakah aset CSS dan JavaScript sudah dibangun untuk deployment.

Dalam konfigurasi yang sesuai, perintah build dapat berupa:

npm run build

Jika menggunakan Nginx atau Apache, gunakan konfigurasi produksi yang sesuai, bukan menjalankan development server secara permanen.

Perhatikan pula database, file upload, permission folder storage, dan kebutuhan queue worker apabila aplikasi menggunakan background jobs.

Langkah 10 — Mengatasi Error yang Sering Muncul

Dalam konfigurasi server, tidak semua hal selalu langsung berhasil.

Berikut beberapa masalah yang cukup penting untuk diketahui.

1. Error 502 Bad Gateway

Jika tunnel sudah terhubung, tetapi muncul 502 Bad Gateway, kemungkinan cloudflared tidak dapat menjangkau aplikasi lokal.

Periksa apakah web server aktif dan apakah alamat serta port service URL sudah benar.

Coba akses terlebih dahulu:

http://127.0.0.1:8000

dari mesin tempat cloudflared berjalan.

2. Error 1033

Error ini dapat menunjukkan adanya masalah pada koneksi tunnel menuju Cloudflare.

Periksa status tunnel, koneksi internet, dan service cloudflared.

3. Domain Belum Bisa Diakses

Pastikan status domain Active, pengaturan DNS benar, dan Published Application Route sudah dibuat pada hostname yang sesuai.

4. Website Terbuka tetapi CSS atau JavaScript Tidak Muncul

Periksa URL asset, konfigurasi APP_URL, hasil build frontend, dan kemungkinan referensi asset yang masih menggunakan localhost.

5. Website Mengalami Redirect Berulang

Periksa konfigurasi HTTPS, trusted proxy, pengaturan session, redirect pada web server, dan konfigurasi SSL/TLS Cloudflare.

Hindari menonaktifkan verifikasi sertifikat atau menurunkan keamanan hanya untuk membuat error menghilang tanpa memahami penyebabnya.

Apakah Cloudflare Tunnel Aman?

Menurut saya, Cloudflare Tunnel merupakan solusi menarik karena kita tidak perlu membuka port inbound pada router hanya untuk mempublikasikan layanan web.

Namun, perlu dipahami bahwa ketika kita membuat sebuah aplikasi dapat diakses melalui hostname publik, siapa pun di internet berpotensi mencoba membuka alamat tersebut.

Karena itu, sebelum mempublikasikan aplikasi, pastikan:

  • Fitur login dan hak akses bekerja dengan benar.
  • Laravel dan dependencies mendapat pembaruan keamanan.
  • File .env dan informasi rahasia tidak bisa diakses publik.
  • Database tidak ikut diekspos.
  • Form memiliki validasi yang sesuai.
  • Halaman administrator dilindungi autentikasi dan otorisasi.
  • Ada backup dan monitoring aplikasi.
  • Server tidak menyimpan data sensitif tanpa perlindungan yang memadai.

Untuk aplikasi internal perusahaan, kita juga bisa mempertimbangkan Cloudflare Access sebagai lapisan autentikasi tambahan agar hanya pengguna yang diizinkan dapat mengakses aplikasi tersebut.

Saya juga tidak menyarankan mempublikasikan aplikasi development yang masih menggunakan data produksi atau berisi informasi internal perusahaan tanpa izin dan evaluasi keamanan terlebih dahulu.

Apakah Server Harus Selalu Menyala?

Jawabannya, iya, kalau kita ingin aplikasi selalu tersedia.

Cloudflare Tunnel bukan layanan hosting yang otomatis menjalankan website saat komputer kita mati.

Website tetap bergantung pada server lokal.

Kalau komputer dimatikan, listrik terputus, internet terputus, aplikasi berhenti, atau koneksi tunnel mengalami masalah, website bisa menjadi tidak dapat diakses.

Karena itu, jika tujuan kalian adalah membuat website yang digunakan oleh banyak orang selama 24 jam, sebaiknya gunakan perangkat server yang memang disiapkan untuk bekerja terus-menerus.

Selain Cloudflare Tunnel, kita juga perlu memperhatikan kestabilan listrik, jaringan internet, penggunaan resource server, serta proses monitoring dan backup.

Cocok Digunakan untuk Apa Saja?

Cloudflare Tunnel bisa menjadi pilihan yang menarik dalam berbagai skenario pengembangan.

Misalnya, ketika seorang developer ingin memperlihatkan hasil pengerjaan website kepada klien tanpa harus langsung memindahkan seluruh source code ke hosting.

Bisa juga digunakan untuk menguji aplikasi web, menerima callback webhook pada lingkungan pengujian yang aman, atau mengakses aplikasi internal tertentu melalui pengaturan akses yang sesuai.

Untuk bisnis dan perusahaan, teknologi ini dapat menjadi salah satu bagian dari arsitektur konektivitas aplikasi.

Namun, pemilihan antara Cloudflare Tunnel, VPS, cloud hosting, atau server perusahaan tetap harus disesuaikan dengan kebutuhan keamanan, performa, skalabilitas, dan ketersediaan layanan.

Tidak ada satu solusi yang selalu paling cocok untuk semua kebutuhan.

Kesimpulan

Bagi saya, salah satu hal menarik dari dunia IT adalah selalu ada teknologi baru yang membuat proses pengembangan menjadi lebih praktis.

Cloudflare Tunnel menjadi salah satu contoh bagaimana kita dapat mempublikasikan website lokal melalui domain sendiri tanpa perlu melakukan port forwarding atau memiliki IP publik statis.

Dengan memahami konfigurasi domain, DNS, tunnel, dan web server, kita memiliki lebih banyak pilihan ketika ingin melakukan development, testing, maupun deployment aplikasi.

Meski begitu, kemudahan akses tetap harus diimbangi dengan pengaturan keamanan yang tepat.

Semoga tutorial ini bisa membantu kalian yang sedang belajar Laravel, mengembangkan website, atau ingin mencoba menjalankan aplikasi dari server sendiri.

Kalau ada bagian yang masih membingungkan, tidak perlu khawatir. Dunia programming memang banyak proses mencoba, mengevaluasi, dan belajar dari masalah yang kita temui.

Dan kalau kalian sedang membutuhkan website, aplikasi bisnis, sistem informasi perusahaan, atau ingin mendiskusikan kebutuhan digital tertentu, saya juga terbuka untuk berdiskusi.

Kita bisa mulai dari ngobrol santai mengenai kebutuhan, lalu mencari solusi teknologi yang paling sesuai.

Terima kasih sudah membaca!

Salam,

Ferdy

Senior Programmer & Freelance Web Developer

KODE KREATIF

Terus belajar, terus berkarya, dan jangan takut mencoba teknologi baru.

Referensi Resmi

Cloudflare Tunnel — Documentation

https://developers.cloudflare.com/tunnel/

Cloudflare — DNS Setup

https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/

Cloudflare — Create a Tunnel

https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/get-started/create-remote-tunnel/

Cloudflare — Troubleshooting

https://developers.cloudflare.com/tunnel/troubleshooting/

Laravel — Deployment

https://laravel.com/docs/deployment

RUANG DISKUSI

Diskusi Artikel 0

Bagikan pengalaman, pertanyaan, atau pendapat Anda. Mari berdiskusi dengan santun.

Tulis komentar

Belum ada komentar

Jadilah orang pertama yang membuka diskusi di artikel ini.

Tinggalkan Komentar

Isi nama dan email Anda. Email tidak ditampilkan ke publik.

Maksimal 2.000 karakter. Tautan dan HTML tidak akan dijalankan.
Komentar tampil setelah disetujui admin