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. Lo stesso errore Unauthorized.

Anche il token è configurato correttamente

sei sicuro che il token di Cloudflare R2 abbia i permessi di lettura/scrittura e che tu abbia configurato correttamente la politica CORS? So che hai una configurazione del server un po’ particolare, e i permessi e la configurazione del bucket Cloudflare devono essere esattamente corretti, altrimenti si verificheranno errori di autorizzazione.

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. nel lato destro della pagina di panoramica di R2, clicca su gestisci token API R2.
  3. clicca su crea token API.
  4. imposta i permessi su lettura & scrittura oggetti e poi su salva.
  5. questo genererà 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… una confusione inutile, ma la colpa è di Cloudflare

sì, la dashboard di Cloudflare può essere un vero nido di vespe di configurazioni, ahah. mi fa piacere che tu l’abbia risolta!