dari Minimax

# Langkah Membuat Website Private di Cloudflare Tanpa Zero Trust Berikut beberapa cara yang bisa kamu gunakan: --- ## **Cara 1: Cloudflare Pages dengan Password Protection** Ini adalah cara termudah dan **tanpa Zero Trust**. ### Langkah-langkah: 1. **Push project ke GitHub** - Pastikan kamu punya repository GitHub yang sudah di-*push* dengan file website (HTML, CSS, JS, dll.) 2. **Buka Cloudflare Dashboard** - Login ke [dash.cloudflare.com](https://dash.cloudflare.com) 3. **Buat Project di Cloudflare Pages** - Pilih menu **"Workers & Pages"** di sidebar - Klik **"Create application"** - Pilih **"Pages"** → **"Create a project"** - Pilih **"Connect to Git"** - Pilih repository GitHub kamu - Configure build settings sesuai project kamu 4. **Aktifkan Password Protection** - Setelah project dibuat, masuk ke **Settings** - Pilih **"General"** - Scroll ke bagian **"Access Policy"** - Pilih **"Password Protection"** - Aktifkan dan **set password** yang kamu inginkan - Simpan perubahan > ✅ **Hasil:** Siapa pun yang membuka website harus memasukkan password dulu. --- ## **Cara 2: Cloudflare Worker + Basic Auth (Tanpa Zero Trust)** Cara ini memberikan **autentikasi username & password**. ### Langkah-langkah: 1. **Buat Worker baru** - Buka **Workers & Pages** → **Create application** - Pilih **Create Worker** 2. **Edit kode Worker** dengan script berikut: ```javascript export default { async fetch(request) { const authHeader = request.headers.get("Authorization"); if (authHeader) { const [scheme, encoded] = authHeader.split(" "); if (scheme === "Basic" && encoded) { const decoded = atob(encoded); const [username, password] = decoded.split(":"); // Ganti dengan kredensial yang kamu mau if (username === "admin" && password === "rahasia123") { // Load website dari Workers KV atau fallback return fetch(request); } } } // Tampilkan popup login return new Response("Unauthorized", { status: 401, headers: { "WWW-Authenticate": `Basic realm="Private Website", charset="UTF-8"`, }, }); }, }; ``` 3. **Upload file website ke Workers KV** - Buat namespace KV baru - Upload file HTML/CSS/JS kamu ke KV 4. **Deploy Worker** dan akses website dengan username/password. --- ## **Cara 3: Cloudflare R2 + Signed URL** Cocok untuk website statis yang benar-benar **private**. ### Langkah-langkah: 1. **Buat R2 bucket** - Buka **R2 Object Storage** di Cloudflare dashboard - Buat bucket baru - Upload semua file website kamu 2. **Generate Signed URL** - Gunakan script/cloudflare worker untuk membuat URL yang expired setelah waktu tertentu - Bagikan URL tersebut hanya ke orang yang dipercaya --- ## **Ringkasan Perbandingan** | Cara | Keamanan | Kesulitan | Best For | |------|----------|-----------|----------| | **Password Protection (Pages)** | ⭐⭐ | Mudah | Website sederhana | | **Worker Basic Auth** | ⭐⭐⭐ | Sedang | Multiple users | | **R2 + Signed URL** | ⭐⭐⭐⭐ | Lebih kompleks | File sharing | --- ## **Tips Penting** - ✅ **Gunakan password yang kuat** agar tidak mudah ditebak - ✅ **Nonaktifkan "Public access"** di Pages settings - ✅ **Pastikan tidak ada route yang public** tanpa proteksi - ✅ **Aktifkan SSL/TLS