Impossibile caricare su S3 (Cloudflare R2)

Stavo configurando R2 sul mio sito seguendo alcune guide qui, ma ora vedo solo un messaggio generico: „Spiacente, ma il tuo caricamento non è riuscito. Riprova.“ quando provo a caricare un file. L’unica cosa che vedo nei log è questa:

Ho configurato gli URL nel file app.yml perché l’interfaccia web rifiutava gli URL strutturati come indicato nei post delle guide (formato non valido):

image

CDN_URL è il dominio personalizzato (impostato su Cloudflare) e S3_ENDPOINT è l’URL nel pannello web. Ho configurato correttamente tutte le opzioni con token di autenticazione creati in modo appropriato:

Sembra che Cloudflare stia rilevando alcune richieste, ma nulla viene memorizzato.

Qual è il problema?

Ehi,

Non è forse a causa delle barre finali (/) nell’URL del CDN S3 e nell’endpoint S3?

Seguiste queste guide? Siete certi che il nome del bucket di upload sia „discourse“?

Sì, ho seguito la prima

Corretto

Proverò a rimuovere le barre e ti farò sapere

Ho rimosso le barre finali, ma senza successo. Stesso errore Unauthorized.

Anche il token è configurato correttamente.

Sei sicuro che il token di Cloudflare R2 abbia le autorizzazioni di lettura/scrittura e che la policy CORS sia stata configurata correttamente? So che la tua configurazione del server è un po’ particolare, e le autorizzazioni e la configurazione del bucket Cloudflare devono essere assolutamente corrette, altrimenti si verificheranno errori relativi alle autorizzazioni.

hai creato il tipo di token sbagliato: hai un token API generico. Devi creare un token per il bucket R2:

  1. Vai alla dashboard di Cloudflare → Archiviazione oggetti R2 (nella barra laterale sinistra, sotto storage & databases).
  2. Sul lato destro della pagina di panoramica di R2, fai clic su manage (API tokens).
  3. Fai clic su create account API token.
  4. Inserisci un nome appropriato per il token e imposta i permessi su object read & write, quindi fai clic su save.
  5. Verranno restituiti un access key id e un secret access key. Questi sono i valori che devi inserire nella configurazione S3 di Discourse.

E sì, devi rimuovere le barre finali perché Discourse probabilmente le rifiuterà.

Grazie, si è rivelato essere il problema.. confuso senza motivo, ma è colpa di Cloudflare

Sì, la dashboard di Cloudflare può essere un nido di vespe per le configurazioni, lol. Sono contento che tu l’abbia sistemata!