30 September 2026 · 5 menit membaca

Cara membuat bucket Cloudflare R2 menjadi publik

Bucket R2 bersifat pribadi secara default. Tidak ada yang bisa membaca file tanpa permintaan API yang ditandatangani sampai Anda secara eksplisit memberi bucket alamat publik. Ada dua cara untuk melakukannya, dan keduanya bisa dipakai bersamaan.

Opsi 1: hubungkan domain kustom (disarankan)

Domain kustom menyajikan bucket melalui jaringan Cloudflare dengan caching, dan memungkinkan Anda memakai aturan WAF atau Cloudflare Access nanti. Domain tersebut harus berupa zona di akun Cloudflare yang sama dengan bucket (penyiapan penuh maupun CNAME parsial sama-sama bisa).

  1. Di dasbor Cloudflare, buka R2 Object Storage dan pilih bucket Anda.
  2. Buka Settings, cari Custom Domains, lalu pilih Add.
  3. Masukkan subdomain seperti files.example.com dan pilih Continue.
  4. Periksa catatan DNS yang akan dibuat Cloudflare dan pilih Connect Domain.

Dalam beberapa menit, statusnya berubah dari Initializing menjadi Active. Setelah itu, objek dengan kunci 2026/09/report.pdf tersedia di https://files.example.com/2026/09/report.pdf.

Opsi 2: aktifkan Public Development URL r2.dev

Untuk uji coba cepat, R2 bisa memberi bucket alamat yang dikelola Cloudflare:

  1. Buka Settings bucket.
  2. Di bagian Public Development URL, pilih Enable.
  3. Ketik allow untuk mengonfirmasi, lalu pilih Allow.

Bucket kini bisa diakses di https://pub-<id>.r2.dev/<key>. Cloudflare membatasi laju URL ini dan menyebutnya khusus untuk pengembangan, jadi beralihlah ke domain kustom sebelum Anda membagikan tautan secara luas. Mengarahkan CNAME milik Anda sendiri ke alamat r2.dev tidak didukung.

Apa yang terbuka dan tidak terbuka dengan akses publik

  • Hanya baca. Akses publik memungkinkan siapa pun membaca objek yang kuncinya mereka ketahui. Mengunggah dan menghapus tetap memerlukan kredensial API.
  • Tanpa daftar direktori. Membuka root domain tidak menampilkan isi bucket. Nama objek yang acak membuat tautan sulit ditebak.
  • Seluruh isi bucket. Akses berlaku per bucket, bukan per folder. Simpan file pribadi di bucket terpisah.
  • Caching. Secara default, Cloudflare hanya menyimpan cache ekstensi file tertentu. Tambahkan aturan cache jika Anda ingin semua jenis file di-cache.

Mengatasi Access Denied pada tautan R2

Jika tautan menghasilkan Access Denied, 401 atau 403, periksa hal-hal berikut secara berurutan:

  1. Tautan memakai domain kustom atau URL r2.dev Anda, bukan <account-id>.r2.cloudflarestorage.com. Host tersebut adalah API S3 dan selalu memerlukan tanda tangan.
  2. Domain kustom berstatus Active dan akses ke bucket berstatus Allowed di pengaturan bucket.
  3. Kunci di URL sama persis dengan objeknya, termasuk folder dan huruf besar-kecil.

Pertanyaan umum

Apakah aman membuat bucket R2 menjadi publik?

Aman untuk file yang memang ingin Anda bagikan. Siapa pun yang punya tautan bisa membaca file itu, tetapi mereka tidak bisa melihat daftar isi bucket, mengunggah, atau menghapus. Simpan data pribadi di bucket lain.

Apakah bucket R2 publik lebih mahal?

Tidak. R2 tidak mengenakan biaya egress, jadi unduhan publik tidak menambah biaya bandwidth. Pembacaan dihitung sebagai operasi Class B, yang memiliki kuota gratis bulanan.

Bisakah saya membuat hanya satu folder yang publik?

Tidak dengan akses publik R2, yang berlaku untuk seluruh bucket. Gunakan bucket terpisah, atau biarkan bucket tetap pribadi dan bagikan presigned URL.