Setelah berhasil deploy aplikasi Laravel 12 React ke DigitalOcean, langkah selanjutnya adalah setup domain dan SSL agar website bisa diakses dengan HTTPS. Artikel ini membahas cara setup Cloudflare untuk mendapatkan SSL gratis, CDN, dan berbagai fitur keamanan untuk aplikasi kamu.
Halo, saya Angga Risky Setiawan, founder dari BuildWithAngga.
Kalau kamu sudah mengikuti artikel sebelumnya tentang deploy Laravel React ke DigitalOcean dengan Docker, sekarang aplikasi kamu sudah jalan. Bisa diakses, bisa login, semua fitur bekerja.
Tapi ada satu masalah. Kamu masih akses via IP address seperti http://167.99.78.123. Ini tidak ideal untuk production.
Kenapa Butuh Domain?
Coba bandingkan dua URL ini:
http://167.99.78.123https://myapp.com
Mana yang lebih profesional? Mana yang lebih mudah diingat user?
Domain bukan cuma soal estetika. Ada alasan teknis juga. Google lebih suka website dengan domain proper untuk SEO. Beberapa layanan seperti OAuth (Login with Google) dan payment gateway (Midtrans, Xendit) bahkan mewajibkan domain untuk integrasi.
User juga lebih trust dengan website yang punya domain. Tidak ada yang mau memasukkan data kartu kredit di website dengan URL angka-angka.
Kenapa Butuh HTTPS?
Perhatikan browser kamu saat akses website via HTTP. Ada tulisan "Not Secure" di address bar. Ini membuat user ragu.
HTTPS mengenkripsi semua data antara browser dan server. Password, data pribadi, informasi pembayaran, semua terproteksi. Tanpa HTTPS, data bisa dibaca oleh siapa saja yang ada di jaringan yang sama.
Google juga menjadikan HTTPS sebagai ranking factor sejak 2014. Website HTTPS mendapat boost di hasil pencarian. Untuk aplikasi modern, banyak fitur browser yang hanya bekerja di HTTPS. Service workers, geolocation, camera access, semua butuh HTTPS.
Dan untuk aplikasi Laravel dengan Sanctum, cookie authentication bekerja lebih baik dengan HTTPS karena bisa menggunakan Secure flag.
Kenapa Cloudflare?
Ada banyak cara mendapatkan SSL. Bisa beli certificate, bisa pakai Let's Encrypt, bisa setup di server. Tapi cara paling mudah adalah menggunakan Cloudflare.
Cloudflare memberikan SSL gratis selamanya. Tidak perlu bayar, tidak perlu renew manual setiap 90 hari seperti Let's Encrypt. Set sekali, selesai.
Tapi Cloudflare bukan cuma SSL. Kamu juga dapat CDN gratis. Website kamu akan di-cache di server Cloudflare di seluruh dunia. User di Surabaya, Jakarta, atau Singapura akan mendapat response lebih cepat.
DDoS protection juga included. Kalau ada yang coba serang website kamu dengan traffic berlebihan, Cloudflare yang handle. Server DigitalOcean kamu tetap aman di belakang.
DNS management di Cloudflare juga sangat user-friendly. Interface modern, propagation cepat, dan ada analytics untuk lihat traffic.
Yang paling menarik, kamu tidak perlu konfigurasi SSL di server. Nginx tetap listen di port 80 seperti setup kita sebelumnya. Cloudflare yang handle semua kompleksitas HTTPS.
Apa yang Akan Kita Setup?
Di artikel ini, kamu akan belajar:
- Menyiapkan domain (kalau belum punya)
- Daftar dan setup akun Cloudflare
- Pointing domain ke server DigitalOcean
- Memilih SSL mode yang tepat untuk setup Docker kita
- Update konfigurasi Laravel untuk HTTPS
- Testing dan verifikasi semuanya bekerja
Setelah selesai, aplikasi kamu akan bisa diakses via https://myapp.com dengan gembok hijau di browser. Profesional dan secure.
💡 Mini Tips
Domain murah bisa dibeli di Namecheap, Niagahoster, atau Domainesia. Harga mulai dari Rp 15.000/tahun untuk domain .xyz atau .site. Untuk yang lebih profesional, .com sekitar Rp 150.000/tahun.
Cloudflare gratis untuk semua fitur basic yang kita butuhkan. SSL, CDN, DNS, analytics, semua gratis. Plan berbayar hanya untuk fitur enterprise.
SSL dari Cloudflare tidak perlu direnew. Berbeda dengan Let's Encrypt yang expire setiap 90 hari. Cloudflare handle semuanya otomatis.
Di bagian selanjutnya, kita akan daftar akun Cloudflare dan menambahkan domain.
Daftar Cloudflare dan Tambahkan Domain
Cloudflare menyediakan SSL gratis dan CDN untuk website kamu. Bagian ini membahas cara membuat akun Cloudflare, menambahkan domain, dan mengubah nameserver agar domain dikelola oleh Cloudflare.
Sebelum mulai, pastikan kamu sudah punya domain. Kalau belum, beli dulu di registrar seperti Namecheap, Niagahoster, atau Domainesia. Proses pembelian domain biasanya cuma 5 menit.
Sudah punya domain? Mari setup Cloudflare.
Buat Akun Cloudflare
Buka browser dan akses cloudflare.com. Klik tombol "Sign Up" di pojok kanan atas.
Masukkan email dan buat password. Cloudflare akan mengirim email verifikasi. Buka email dan klik link verifikasi untuk mengaktifkan akun.
Setelah verifikasi, kamu akan masuk ke dashboard Cloudflare yang masih kosong.
Tambahkan Domain
Di dashboard, klik tombol "Add a Site" atau "Add site". Ketik domain kamu tanpa www, misalnya myapp.com. Klik "Continue".
Cloudflare akan menampilkan pilihan plan. Scroll ke bawah dan pilih "Free". Jangan khawatir, plan gratis sudah sangat cukup untuk kebutuhan kita. SSL, CDN, DNS, analytics, semua included.
Klik "Continue" untuk melanjutkan.
Cloudflare Scan DNS Records
Cloudflare akan mencoba scan DNS records yang sudah ada di domain kamu. Kalau domain baru atau belum pernah di-setup, hasilnya akan kosong. Tidak masalah.
Kalau ada records yang muncul dari setup sebelumnya, biarkan saja dulu. Kita akan tambahkan records yang diperlukan di bagian selanjutnya.
Klik "Continue" untuk lanjut ke langkah paling penting.
Ganti Nameserver
Ini langkah krusial. Cloudflare akan memberikan dua nameserver yang harus kamu set di domain registrar.
Nameserver biasanya terlihat seperti ini:
ada.ns.cloudflare.com
bob.ns.cloudflare.com
Nama-nama ini random dan berbeda untuk setiap akun. Catat atau copy kedua nameserver ini.
Sekarang login ke tempat kamu beli domain. Setiap registrar punya interface berbeda, tapi konsepnya sama. Cari menu "Nameservers" atau "DNS Settings".
Contoh di Namecheap:
- Login ke Namecheap
- Klik "Domain List"
- Klik "Manage" di domain yang ingin di-setup
- Scroll ke bagian "Nameservers"
- Pilih "Custom DNS"
- Masukkan kedua nameserver Cloudflare
- Klik centang hijau untuk save
Contoh di Niagahoster:
- Login ke member area
- Klik "Domain" → "Kelola Domain"
- Klik domain yang ingin di-setup
- Pilih "Nameserver"
- Pilih "Custom Nameserver"
- Masukkan kedua nameserver Cloudflare
- Klik "Simpan"
Proses ini memberitahu internet bahwa mulai sekarang, semua urusan DNS domain kamu dikelola oleh Cloudflare.
Tunggu Propagation
Setelah ganti nameserver, perubahan butuh waktu untuk menyebar ke seluruh internet. Ini disebut DNS propagation.
Biasanya propagation selesai dalam 1-2 jam. Tapi bisa juga sampai 24 jam tergantung registrar dan ISP.
Kembali ke dashboard Cloudflare dan klik "Done, check nameservers". Cloudflare akan cek apakah nameserver sudah berubah.
Kalau masih pending, tunggu beberapa jam dan cek lagi. Cloudflare juga akan mengirim email notifikasi saat domain sudah aktif.
Verifikasi Domain Aktif
Saat domain sudah aktif, status di dashboard Cloudflare berubah menjadi "Active" dengan centang hijau. Ini artinya Cloudflare sudah mengelola domain kamu.
Kamu juga bisa verify manual dengan tool online. Buka dnschecker.org, masukkan domain kamu, dan pilih NS record. Hasilnya harus menunjukkan nameserver Cloudflare di berbagai lokasi dunia.
Kalau sudah active, domain siap untuk di-pointing ke server DigitalOcean.
💡 Mini Tips
Cek propagation di dnschecker.org. Tool ini menunjukkan apakah nameserver sudah berubah di berbagai lokasi dunia. Sangat berguna untuk troubleshooting.
Screenshot nameserver lama sebelum diganti. Kalau terjadi masalah dan perlu rollback, kamu punya backup informasinya. Better safe than sorry.
Jangan panik kalau butuh waktu. Propagation kadang cepat kadang lambat. Selama nameserver sudah benar, tinggal tunggu. Tidak ada yang perlu di-fix.
Di bagian selanjutnya, kita akan setup DNS records untuk mengarahkan domain ke IP server DigitalOcean.
Setup DNS Records - Pointing Domain ke Server
Setelah domain aktif di Cloudflare, langkah selanjutnya adalah membuat DNS records untuk mengarahkan domain ke IP address server DigitalOcean. Bagian ini membahas cara setup A record, CNAME, dan memahami proxy status di Cloudflare.
Domain sudah aktif di Cloudflare. Sekarang kita perlu memberitahu Cloudflare kemana harus mengarahkan traffic.
Siapkan IP address Droplet DigitalOcean kamu. Kalau lupa, bisa cek di dashboard DigitalOcean atau jalankan curl ifconfig.me di terminal server.
Masuk ke DNS Settings
Di dashboard Cloudflare, klik domain kamu. Di sidebar kiri, pilih menu "DNS". Kamu akan melihat halaman DNS management dengan tombol "Add record".
Kalau ada records bawaan dari scan sebelumnya yang tidak diperlukan, hapus dulu untuk menghindari konflik.
Buat A Record untuk Root Domain
Klik "Add record" dan isi seperti ini:
Type: A
Name: @
IPv4 address: 167.99.78.123 (ganti dengan IP Droplet kamu)
Proxy status: Proxied (pastikan orange cloud aktif)
TTL: Auto
Symbol @ artinya root domain. Kalau domain kamu myapp.com, maka record ini untuk myapp.com tanpa subdomain apapun.
Klik "Save" untuk menyimpan.
Buat Record untuk WWW
Banyak user yang terbiasa mengetik www.myapp.com. Kita perlu handle ini juga.
Ada dua pilihan. Pertama, buat A record sama seperti root:
Type: A
Name: www
IPv4 address: 167.99.78.123 (IP Droplet kamu)
Proxy status: Proxied
TTL: Auto
Atau kedua, buat CNAME yang pointing ke root domain:
Type: CNAME
Name: www
Target: myapp.com
Proxy status: Proxied
TTL: Auto
Kedua cara sama-sama benar. CNAME lebih fleksibel karena kalau IP berubah, kamu hanya perlu update satu record. Tapi A record juga tidak masalah.
Pilih salah satu dan klik "Save".
Memahami Proxy Status
Perhatikan kolom "Proxy status" dengan icon cloud. Ini fitur penting Cloudflare yang sering membingungkan pemula.
Proxied (Orange Cloud) artinya traffic melewati server Cloudflare dulu sebelum ke server kamu. Dengan mode ini, kamu dapat semua benefit: CDN, SSL, DDoS protection, caching. IP asli server kamu juga tersembunyi.
DNS Only (Grey Cloud) artinya Cloudflare hanya berfungsi sebagai DNS. Traffic langsung ke server kamu tanpa melewati Cloudflare. Tidak dapat benefit apapun selain DNS management.
Untuk website, selalu pilih Proxied. Tidak ada alasan memilih DNS Only kecuali untuk services khusus seperti mail server atau game server yang butuh koneksi langsung.
Hasil Akhir DNS Records
Setelah setup, DNS records kamu harus terlihat seperti ini:
| Type | Name | Content | Proxy | TTL |
|---|---|---|---|---|
| A | @ | 167.99.78.123 | Proxied | Auto |
| A | www | 167.99.78.123 | Proxied | Auto |
Atau kalau pakai CNAME untuk www:
| Type | Name | Content | Proxy | TTL |
|---|---|---|---|---|
| A | @ | 167.99.78.123 | Proxied | Auto |
| CNAME | www | myapp.com | Proxied | Auto |
Dua records ini sudah cukup untuk website standar.
Test DNS Sudah Benar
Buka terminal di laptop kamu dan jalankan:
# Test root domain
nslookup myapp.com
# Test www
nslookup www.myapp.com
Karena kita pakai Proxied mode, IP yang muncul bukan IP Droplet kamu. Melainkan IP Cloudflare. Ini normal dan artinya setup sudah benar.
Kalau mau test apakah pointing ke server yang benar, buka browser dan akses domain. Harusnya sudah menampilkan aplikasi kamu meskipun masih HTTP.
Belum HTTPS? Tenang, kita akan setup SSL mode di bagian selanjutnya.
💡 Mini Tips
Selalu pakai Proxied untuk website. Kamu dapat CDN gratis, SSL gratis, dan protection gratis. IP server juga tersembunyi dari publik. Tidak ada kerugian.
Subdomain bisa ditambahkan dengan cara yang sama. Mau bikin
api.myapp.comataustaging.myapp.com? Tinggal add record baru dengan name sesuai subdomain.TTL Auto adalah pilihan terbaik. Cloudflare akan mengelola caching secara optimal. Untuk proxied records, TTL tidak terlalu berpengaruh karena Cloudflare yang handle.
Di bagian selanjutnya, kita akan memilih SSL mode yang tepat. Ini langkah penting untuk menghindari error redirect loop.
Konfigurasi SSL Mode - Pilih yang Tepat!
Cloudflare menyediakan beberapa SSL mode yang menentukan bagaimana enkripsi bekerja antara browser, Cloudflare, dan server. Memilih mode yang salah bisa menyebabkan redirect loop atau koneksi tidak secure. Bagian ini membahas perbedaan setiap mode dan rekomendasi untuk setup Docker di DigitalOcean.
Ini bagian yang paling sering bikin developer frustrasi. Salah pilih SSL mode, website tidak bisa diakses. Redirect loop terus-terusan. Error ERR_TOO_MANY_REDIRECTS.
Mari kita pahami dulu cara kerjanya supaya tidak salah pilih.
Akses SSL Settings
Di dashboard Cloudflare, pilih domain kamu. Di sidebar kiri, klik "SSL/TLS". Kamu akan masuk ke halaman Overview yang menampilkan pilihan SSL mode.
4 SSL Mode di Cloudflare
1. Off (Not Secure)
Browser ←HTTP→ Cloudflare ←HTTP→ Server
Tidak ada enkripsi sama sekali. Browser menampilkan "Not Secure". Jangan pernah pakai mode ini untuk production. Data user bisa dibaca siapa saja.
2. Flexible
Browser ←HTTPS→ Cloudflare ←HTTP→ Server
Enkripsi hanya antara browser dan Cloudflare. Koneksi dari Cloudflare ke server kamu tetap HTTP biasa.
Ini mode yang cocok untuk setup kita. Nginx di Docker listen di port 80 tanpa SSL. Cloudflare yang handle HTTPS untuk user.
3. Full
Browser ←HTTPS→ Cloudflare ←HTTPS→ Server
Enkripsi di kedua sisi. Tapi Cloudflare tidak memvalidasi certificate di server. Bisa pakai self-signed certificate.
Mode ini lebih secure dari Flexible. Tapi butuh setup SSL di Nginx.
4. Full (Strict)
Browser ←HTTPS→ Cloudflare ←HTTPS→ Server (valid cert)
Paling secure. Enkripsi di kedua sisi dan Cloudflare memvalidasi certificate server harus dari CA yang terpercaya.
Untuk high-security applications seperti banking atau healthcare. Butuh certificate valid di server.
Rekomendasi untuk Setup Docker Kita
Ingat artikel sebelumnya? Nginx kita listen di port 80. Tidak ada SSL certificate di server.
Pilih Flexible.
Kenapa Flexible sudah cukup? Koneksi dari browser ke Cloudflare tetap terenkripsi. Data user aman. Koneksi Cloudflare ke server memang HTTP, tapi ini melewati jaringan internal Cloudflare yang sudah secure.
Untuk kebanyakan aplikasi, Flexible sudah sangat memadai. Nanti kalau mau upgrade ke Full, kamu bisa setup Cloudflare Origin Certificate di Nginx. Tapi itu opsional.
Set SSL Mode ke Flexible
Di halaman SSL/TLS Overview, klik "Flexible". Perubahan langsung aktif, tidak perlu save atau restart apapun.
Enable Always Use HTTPS
Masih di menu SSL/TLS, klik tab "Edge Certificates" di bagian atas.
Cari option "Always Use HTTPS" dan toggle ke ON.
Fitur ini otomatis redirect semua request HTTP ke HTTPS. User yang akses http://myapp.com akan langsung diarahkan ke https://myapp.com.
Wajib diaktifkan untuk memastikan semua user selalu pakai HTTPS.
Enable Automatic HTTPS Rewrites
Di halaman yang sama, cari "Automatic HTTPS Rewrites" dan toggle ke ON.
Fitur ini memperbaiki mixed content. Kalau ada resource HTTP di halaman HTTPS (misalnya gambar atau script), Cloudflare akan otomatis rewrite ke HTTPS.
Berguna untuk menghindari warning "Mixed Content" di browser.
Common Errors dan Solusinya
| Error | Penyebab | Solusi |
|---|---|---|
| ERR_TOO_MANY_REDIRECTS | SSL mode Full tapi server tidak punya SSL | Ganti ke Flexible |
| Mixed content warning | Ada resource HTTP di page HTTPS | Enable Automatic HTTPS Rewrites |
| Website not secure | SSL mode Off | Pilih Flexible atau lebih tinggi |
| 526 Invalid SSL Certificate | SSL mode Full Strict tapi certificate tidak valid | Ganti ke Full atau Flexible |
Error redirect loop adalah yang paling umum. Hampir selalu karena SSL mode tidak match dengan setup server.
Rumusnya sederhana. Server HTTP pilih Flexible. Server HTTPS pilih Full atau Full Strict.
💡 Mini Tips
Flexible sudah cukup secure untuk kebanyakan aplikasi. Data antara user dan Cloudflare tetap terenkripsi. Upgrade ke Full hanya kalau ada requirement khusus.
Redirect loop 99% karena SSL mode salah. Kalau dapat error ERR_TOO_MANY_REDIRECTS, langsung cek SSL mode. Ganti ke Flexible biasanya langsung solve.
Always Use HTTPS wajib ON. Jangan biarkan user akses via HTTP. Selain tidak secure, juga membingungkan untuk session dan cookies.
Di bagian terakhir, kita akan update konfigurasi Laravel dan testing untuk memastikan semuanya bekerja sempurna.
Update Konfigurasi Laravel dan Testing
Setelah Cloudflare aktif dengan SSL, konfigurasi Laravel perlu diupdate agar mengenali HTTPS dengan benar. Bagian ini membahas perubahan environment variables, trusted proxies, dan cara testing untuk memastikan domain dan SSL bekerja sempurna.
Cloudflare sudah setup. Domain sudah pointing. SSL mode sudah dipilih. Satu langkah lagi sebelum semuanya sempurna.
Laravel perlu tahu bahwa sekarang aplikasi berjalan di HTTPS dan berada di belakang proxy Cloudflare.
Update Laravel Environment
SSH ke server dan edit file .env Laravel:
ssh deployer@YOUR_IP
cd ~/apps/myproject
nano src/.env
Cari dan update bagian-bagian ini:
APP_URL=https://myapp.com
SESSION_DOMAIN=myapp.com
SESSION_SECURE_COOKIE=true
SANCTUM_STATEFUL_DOMAINS=myapp.com,www.myapp.com
Perhatikan perubahannya. APP_URL sekarang pakai https:// bukan http://. Ini penting supaya Laravel generate URL yang benar untuk assets, redirects, dan links.
SESSION_SECURE_COOKIE=true memberitahu Laravel untuk mengirim cookie dengan flag Secure. Cookie hanya dikirim via HTTPS. Lebih aman.
SANCTUM_STATEFUL_DOMAINS perlu include versi www dan non-www. Beberapa user mungkin akses via www.myapp.com, jadi harus di-cover juga.
Setup Trusted Proxies
Ini langkah yang sering terlewat dan menyebabkan masalah aneh.
Karena request sekarang melewati Cloudflare dulu, Laravel melihat IP Cloudflare sebagai client, bukan IP user sebenarnya. Laravel juga mungkin tidak mengenali request sebagai HTTPS karena koneksi dari Cloudflare ke server adalah HTTP.
Kita perlu setup Trusted Proxies supaya Laravel percaya header dari Cloudflare.
Untuk laravel 12, edit file bootstrap/app.php:
<?php
use Illuminate\\Foundation\\Application;
use Illuminate\\Foundation\\Configuration\\Middleware;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
api: __DIR__.'/../routes/api.php',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->trustProxies(at: '*');
$middleware->statefulApi();
})
->create();
Baris trustProxies(at: '*') memberitahu Laravel untuk trust semua proxies. Ini aman karena Cloudflare sudah memfilter traffic sebelum sampai ke server.
Untuk Laravel 10 atau lebih lama, edit file app/Http/Middleware/TrustProxies.php:
<?php
namespace App\\Http\\Middleware;
use Illuminate\\Http\\Middleware\\TrustProxies as Middleware;
use Illuminate\\Http\\Request;
class TrustProxies extends Middleware
{
protected $proxies = '*';
protected $headers =
Request::HEADER_X_FORWARDED_FOR |
Request::HEADER_X_FORWARDED_HOST |
Request::HEADER_X_FORWARDED_PORT |
Request::HEADER_X_FORWARDED_PROTO |
Request::HEADER_X_FORWARDED_AWS_ELB;
}
Clear Cache dan Restart
Setelah update konfigurasi, clear cache dan restart containers:
docker exec -it app-backend php artisan config:cache
docker exec -it app-backend php artisan route:cache
docker exec -it app-backend php artisan view:cache
docker compose -f docker-compose.prod.yml restart
Testing Checklist
Buka browser dan jalankan test ini satu per satu.
Test 1: Akses Domain
Buka https://myapp.com. Aplikasi harus muncul dengan icon gembok di address bar. Klik gembok untuk verify "Connection is secure".
Test 2: HTTP Redirect
Buka http://myapp.com (tanpa s). Harus otomatis redirect ke https://myapp.com. Kalau tidak redirect, cek "Always Use HTTPS" di Cloudflare sudah ON.
Test 3: WWW Access
Buka https://www.myapp.com. Harus bisa akses aplikasi. Kalau error, cek DNS record untuk www sudah benar.
Test 4: Authentication
Coba login atau register. Harus bekerja normal. Session harus persistent setelah refresh halaman. Kalau logout sendiri setelah refresh, cek SESSION_DOMAIN dan Trusted Proxies.
Test 5: DevTools Check
Buka Developer Tools (F12) dan tab Network. Refresh halaman. Semua request harus HTTPS. Tidak boleh ada mixed content atau request HTTP.
Konfigurasi Cloudflare Tambahan
Beberapa setting Cloudflare yang recommended untuk diaktifkan:
Speed → Optimization:
- Auto Minify: ON untuk JavaScript, CSS, HTML
- Brotli: ON untuk kompresi lebih baik
Caching → Configuration:
- Caching Level: Standard
- Browser Cache TTL: 1 month
Security → Settings:
- Security Level: Medium
- Browser Integrity Check: ON
Fitur Cloudflare yang Berguna
| Fitur | Lokasi | Kegunaan |
|---|---|---|
| Analytics | Menu Analytics | Lihat traffic, bandwidth, lokasi visitor |
| Page Rules | Rules → Page Rules | Custom behavior per URL |
| Firewall Rules | Security → WAF | Block IP atau negara tertentu |
| Under Attack Mode | Overview | Emergency protection saat DDoS |
Analytics Cloudflare gratis dan sangat informatif. Kamu bisa lihat berapa bandwidth yang dihemat CDN, dari negara mana visitor datang, dan threats apa yang di-block.
💡 Mini Tips
Trusted Proxies wajib di-setup. Tanpa ini, Laravel bisa generate URL HTTP padahal harusnya HTTPS. Form action, asset URLs, redirect, semua bisa salah.
Test di Incognito mode untuk menghindari cache browser. Atau hard refresh dengan Ctrl+Shift+R. Cache kadang menyimpan versi lama yang membingungkan.
Cloudflare Analytics gratis dan powerful. Cek secara berkala untuk memahami traffic pattern dan potensi threats ke website kamu.
Penutup
Selamat! Aplikasi kamu sekarang production-ready dengan domain dan HTTPS.
Dari artikel sebelumnya sampai sekarang, kamu sudah belajar:
- Deploy Laravel React ke DigitalOcean dengan Docker
- Setup domain dan pointing ke server
- Konfigurasi SSL gratis dengan Cloudflare
- Optimasi dan security basic
Website kamu sekarang:
- ✅ Diakses via domain profesional
- ✅ HTTPS aktif dengan gembok hijau
- ✅ Dilindungi CDN dan DDoS protection
- ✅ Lebih cepat dengan caching Cloudflare
Untuk langkah selanjutnya, kamu bisa explore:
- Setup automatic backup database
- GitHub Actions untuk auto deployment
- Monitoring server dengan Netdata
- Cloudflare security rules untuk proteksi tambahan
Semua topik ini akan dibahas di artikel-artikel selanjutnya.
Untuk belajar lebih dalam tentang Laravel, React, deployment, dan DevOps, explore kelas-kelas di BuildWithAngga. Lifetime access, mentor expert, dan komunitas yang supportive.
Happy coding dan selamat atas website HTTPS pertama kamu!
Angga Risky Setiawan
Founder, BuildWithAngga