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 mich wieder melden.

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

Der Token ist ebenfalls korrekt konfiguriert.

Bist du dir sicher, dass das Cloudflare R2-Token Lese-/Schreibrechte hat, und hast du die CORS-Richtlinie korrekt konfiguriert? Ich weiß, dass du eine etwas einzigartige Serverkonfiguration hast, und die Cloudflare-Bucket-Berechtigungen und -Einstellungen müssen exakt stimmen, sonst wirft es Berechtigungsfehler.

Du hast den falschen Token-Typ erstellt – du hast einen allgemeinen API-Token. Du musst einen 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 (API-Tokens).
  3. Klicke auf create account API token.
  4. Gib einen passenden Token-Namen ein und lege die Berechtigungen auf object read & write fest, dann klicke auf save.
  5. Dadurch werden eine access key id und ein secret access key ausgegeben. Diese musst du in die S3-Konfiguration von Discourse eingeben.

Und ja, du musst nachgestellte Schrägstriche entfernen, da Discourse diese wahrscheinlich ablehnt.

Danke, stellte sich heraus, dass das das Problem war. unnötig verwirrend, aber das ist die Schuld von Cloudflare

Ja, das Cloudflare-Dashboard kann ein wahres Hornissennest an Konfigurationen sein, lol. Schön, dass du es repariert hast!