Kann nicht auf S3 (Cloudflare R2) hochladen

Ich habe R2 auf meiner Website eingerichtet, indem ich mich an einigen Anleitungen hier orientiert habe, aber jetzt sehe ich nur noch eine generische Meldung: „Entschuldigung, aber Ihr Upload ist fehlgeschlagen. Bitte versuchen Sie es erneut.

Hey,

Liegt das nicht an den abschließenden Schrägstrichen (/) in der S3-CDN-URL und dem S3-Endpunkt?

Sind das die Anleitungen, denen du gefolgt bist? Bist du sicher, dass dein Upload-Bucket „discourse

Ja, die erste habe ich befolgt.

Korrekt.

Ich werde versuchen, die Schrägstriche zu entfernen und melde mich wieder.

Ich habe die abschließenden Schrägstriche entfernt, aber immer noch kein Glück. Gleicher Unauthorized-Fehler.

Auch das Token ist korrekt konfiguriert.

Sind Sie sicher, dass der Cloudflare-R2-Token über Lese- und Schreibberechtigungen verfügt und dass Sie die CORS-Richtlinie korrekt konfiguriert haben? Ich weiß, dass Sie eine etwas einzigartige Serverkonfiguration haben, und die Berechtigungen und die Konfiguration des Cloudflare-Buckets müssen exakt stimmen, sonst treten Berechtigungsfehler auf.

Du hast den falschen Tokentyp erstellt – du hast ein allgemeines API-Token. Du musst ein R2-Bucket-Token erstellen:

  1. Gehe zum Cloudflare-Dashboard → R2 Object Storage (linke Seitenleiste unter „Storage & Databases“).
  2. Klicke auf der rechten Seite der R2-Übersichtsseite auf „Manage R2 API Tokens“.
  3. Klicke auf „Create API Token“.
  4. Setze die Berechtigungen auf „Object Read & Write“ und klicke dann auf „Save“.
  5. Dadurch werden eine „Access Key ID“ und ein „Secret Access Key“ ausgegeben. Diese musst du in der S3-Konfiguration von Discourse eingeben.

Und ja, du musst die abschließenden Schrägstriche entfernen, da Discourse diese wahrscheinlich ablehnt.

Danke, es stellte sich heraus, dass das das Problem war. Überflüssig verwirrend, aber das ist die Schuld von Cloudflare.

Ja, das Cloudflare-Dashboard kann schon mal ein Wespennest an Konfigurationsoptionen sein, lol. Freut mich, dass du es hinbekommen hast!