30 settembre 2026 · 5 min di lettura
Come rendere pubblico un bucket Cloudflare R2
I bucket R2 sono privati per impostazione predefinita. Nessuno può leggere un file senza richieste API firmate finché non assegni esplicitamente al bucket un indirizzo pubblico. Ci sono due modi per farlo, e si possono usare insieme.
Opzione 1: collega un dominio personalizzato (consigliato)
Un dominio personalizzato serve il bucket tramite la rete di Cloudflare con la cache e ti permette di usare in seguito regole WAF o Cloudflare Access. Il dominio deve essere una zona nello stesso account Cloudflare del bucket (funzionano sia la configurazione completa sia quella parziale con CNAME).
- Nella dashboard di Cloudflare, vai su R2 Object Storage e seleziona il tuo bucket.
- Apri Settings, trova Custom Domains e seleziona Add.
- Inserisci un sottodominio come
files.example.come seleziona Continue. - Controlla il record DNS che Cloudflare creerà e seleziona Connect Domain.
Lo stato passa da Initializing ad Active nel giro di pochi minuti. Da lì in poi, un oggetto con la chiave 2026/09/report.pdf è disponibile su https://files.example.com/2026/09/report.pdf.
Opzione 2: attiva il Public Development URL r2.dev
Per una prova veloce, R2 può assegnare al bucket un indirizzo gestito da Cloudflare:
- Apri le Settings del bucket.
- In Public Development URL, seleziona Enable.
- Digita
allowper confermare e seleziona Allow.
Ora il bucket è raggiungibile su https://pub-<id>.r2.dev/<key>. Cloudflare limita le richieste a questo URL e precisa che è pensato per lo sviluppo, quindi passa a un dominio personalizzato prima di condividere link su larga scala. Puntare un tuo CNAME all'indirizzo r2.dev non è supportato.
Cosa espone l'accesso pubblico e cosa no
- Solo lettura. L'accesso pubblico permette a chiunque di leggere gli oggetti di cui conosce la chiave. Caricamenti ed eliminazioni richiedono comunque credenziali API.
- Nessun elenco delle cartelle. Chi visita la radice del dominio non vede l'elenco del bucket. I nomi casuali degli oggetti rendono i link difficili da indovinare.
- Tutto il bucket. L'accesso vale per l'intero bucket, non per singola cartella. Tieni i file privati in un bucket separato.
- Cache. Per impostazione predefinita, Cloudflare mette in cache solo alcune estensioni di file. Aggiungi una regola di cache se vuoi che venga memorizzato ogni tipo di file.
Risolvere Access Denied sui link R2
Se un link restituisce Access Denied, 401 o 403, controlla questi punti nell'ordine:
- Il link usa il tuo dominio personalizzato o l'URL r2.dev, non
<account-id>.r2.cloudflarestorage.com. Quell'host è l'API S3 e richiede sempre una firma. - Il dominio personalizzato risulta Active e l'accesso al bucket è Allowed nelle impostazioni del bucket.
- La chiave nell'URL corrisponde esattamente all'oggetto, cartelle e maiuscole/minuscole comprese.
Domande frequenti
È sicuro rendere pubblico un bucket R2?
È sicuro per i file che vuoi condividere. Chiunque abbia un link può leggere quel file, ma non può elencare il bucket, caricare o eliminare. Tieni i dati privati in un altro bucket.
Un bucket R2 pubblico costa di più?
No. R2 non fa pagare l'egress, quindi i download pubblici non aggiungono costi di banda. Le letture contano come operazioni di Classe B, che hanno una quota mensile gratuita.
Posso rendere pubblica una sola cartella?
Non con l'accesso pubblico di R2, che vale per l'intero bucket. Usa un bucket separato, oppure tieni il bucket privato e condividi URL prefirmati.