**Langkah‑langkah membuat website private di Cloudflare tanpa menggunakan Zero Trust, dengan data yang di‑upload dari GitHub**
1. **Persiapkan repository GitHub**
- Buat atau pilih repo yang berisi file‑file situs (HTML, CSS, JS, dll.).
- Pastikan semua aset yang diperlukan sudah berada di dalam repo dan **commit** terakhir berada di branch yang ingin Anda gunakan (misalnya `main`).
2. **Hubungkan GitHub ke Cloudflare Pages**
- Masuk ke dashboard Cloudflare → **Pages** → **Create a Project**.
- Pilih **Connect to Git** → **GitHub** dan beri otorisasi Cloudflare untuk mengakses repo Anda.
- Pilih repository yang sudah dipersiapkan, kemudian pilih branch yang akan dibuild.
3. **Konfigurasi build settings**
- **Build command**: sesuaikan dengan framework yang dipakai (contoh: `npm run build` atau kosong jika hanya static).
- **Build directory**: folder hasil build (misalnya `dist/` atau `public/`).
- Klik **Save and Deploy**. Cloudflare akan memulai proses build dan deploy secara otomatis.
4. **Buat “Access Restriction” agar situs menjadi private**
- Setelah site ter‑deploy, buka **Pages → Settings → Access** (atau **Authentication**).
- Pilih **“Require a password”** atau **“Email verification”** sebagai metode otentikasi sederhana.
- Atur password atau email yang di‑izinkan, kemudian simpan.
- **Catatan:** Ini bukan Zero Trust, melainkan proteksi berbasis password yang sudah disediakan oleh Cloudflare Pages.
5. **(Opsional) Batasi akses melalui Cloudflare Workers**
- Jika ingin kontrol lebih detail tanpa Zero Trust, buat **Worker** yang memeriksa header atau query‑parameter tertentu sebelum mengizinkan akses.
- Contoh sederhana:
```javascript
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url)
// contoh: hanya izinkan jika query ?key=YOUR_SECRET ada
if (url.searchParams.get('key') !== 'YOUR_SECRET') {
return new Response('Forbidden', { status: 403 })
}
return fetch(request)
}
```
- Deploy worker dan hubungkan ke domain Pages melalui **Routes** (misalnya `example.com/*`).
6. **Uji coba situs**
- Buka URL yang diberikan oleh Cloudflare Pages (misalnya `https://my-site.pages.dev`).
- Pastikan prompt password atau mekanisme yang Anda pilih muncul dan hanya pengguna yang memiliki kredensial yang dapat melihat konten.
7. **Update konten dari GitHub**
- Setiap kali Anda melakukan **push** ke branch yang terhubung, Cloudflare Pages otomatis akan memulai build baru dan memperbarui situs.
- Tidak perlu mengubah konfigurasi lagi; cukup pastikan perubahan sudah di‑commit.
---
### Ringkasan singkat
- **GitHub → Cloudflare Pages** → hubungkan repo, atur build, deploy.
- **Proteksi**: gunakan password/email di Settings → Access atau buat **Worker** sederhana untuk validasi token.
- **Privasi tercapai** tanpa mengaktifkan Zero Trust, dan setiap perubahan di GitHub otomatis ter‑deploy.
Semoga membantu! 🚀 Jika ada yang kurang jelas, tinggal tanyakan saja.