30 Eylül 2026 · 5 dk okuma
Cloudflare R2 bucket'ı herkese açık nasıl yapılır
R2 bucket'ları varsayılan olarak gizlidir. Bucket'a açıkça herkese açık bir adres verene kadar kimse imzalı API istekleri olmadan bir dosyayı okuyamaz. Bunu yapmanın iki yolu var ve ikisi yan yana kullanılabilir.
1. seçenek: özel bir alan adı bağla (önerilen)
Özel alan adı, bucket'ı önbellekleme ile Cloudflare'in ağı üzerinden sunar ve ileride WAF kuralları ya da Cloudflare Access kullanmana olanak tanır. Alan adının, bucket'la aynı Cloudflare hesabında bir zone olması gerekir (tam ya da kısmi CNAME kurulumu, ikisi de olur).
- Cloudflare panelinde R2 Object Storage'a git ve bucket'ını seç.
- Settings'i aç, Custom Domains bölümünü bul ve Add'e tıkla.
files.example.comgibi bir alt alan adı gir ve Continue'ya tıkla.- Cloudflare'in oluşturacağı DNS kaydını gözden geçir ve Connect Domain'e tıkla.
Durum birkaç dakika içinde Initializing'den Active'e geçer. Ardından 2026/09/report.pdf anahtarlı bir nesneye https://files.example.com/2026/09/report.pdf adresinden erişilebilir.
2. seçenek: r2.dev Public Development URL'yi etkinleştir
Hızlı bir deneme için R2, bucket'a Cloudflare tarafından yönetilen bir adres verebilir:
- Bucket'ın Settings sekmesini aç.
- Public Development URL altında Enable'a tıkla.
- Onaylamak için
allowyaz ve Allow'a tıkla.
Bucket artık https://pub-<id>.r2.dev/<key> adresinden erişilebilir. Cloudflare bu URL'ye hız sınırı uygular ve geliştirme amaçlı olduğunu belirtir, bu yüzden bağlantıları geniş çapta paylaşmadan önce özel bir alan adına geç. Kendi CNAME kaydını r2.dev adresine yönlendirmek desteklenmiyor.
Herkese açık erişim neyi açar, neyi açmaz
- Yalnızca okuma. Herkese açık erişim, herkesin anahtarını bildiği nesneleri okumasına izin verir. Yükleme ve silme için yine API kimlik bilgileri gerekir.
- Dizin listesi yok. Alan adının köküne gitmek bucket'ı listelemez. Rastgele nesne adları bağlantıları tahmin etmeyi zorlaştırır.
- Bucket'taki her şey. Erişim klasör bazında değil, bucket bazındadır. Gizli dosyaları ayrı bir bucket'ta tut.
- Önbellekleme. Cloudflare varsayılan olarak yalnızca belirli dosya uzantılarını önbelleğe alır. Her dosya türünün önbelleğe alınmasını istiyorsan bir cache kuralı ekle.
R2 bağlantılarında Access Denied hatasını düzeltmek
Bir bağlantı Access Denied, 401 ya da 403 döndürüyorsa şunları sırayla kontrol et:
- Bağlantı
<account-id>.r2.cloudflarestorage.comdeğil, özel alan adını ya da r2.dev URL'sini kullanıyor. O adres S3 API'sidir ve her zaman imza ister. - Özel alan adı Active görünüyor ve bucket ayarlarında bucket erişimi Allowed durumda.
- URL'deki anahtar, klasörler ve büyük-küçük harfler dahil nesneyle birebir eşleşiyor.
Sık sorulan sorular
Bir R2 bucket'ını herkese açık yapmak güvenli mi?
Paylaşmayı amaçladığın dosyalar için güvenli. Bağlantıya sahip herkes o dosyayı okuyabilir, ama bucket'ı listeleyemez, yükleme ya da silme yapamaz. Gizli verileri başka bir bucket'ta tut.
Herkese açık bir R2 bucket'ı daha pahalıya mı gelir?
Hayır. R2 egress ücreti almaz, bu yüzden herkese açık indirmeler bant genişliği maliyeti eklemez. Okumalar, aylık ücretsiz kotası olan Class B işlemleri olarak sayılır.
Yalnızca bir klasörü herkese açık yapabilir miyim?
R2'nin herkese açık erişimiyle hayır, çünkü tüm bucket'a uygulanır. Ayrı bir bucket kullan ya da bucket'ı gizli tutup presigned URL'ler paylaş.