Hallo @mcwumbly. Das war sehr einfach zu finden, als ich nach „S3-Klon“ suchen konnte. Ich konnte es gerade nicht finden. War mit diesem Titel etwas nicht in Ordnung? Gibt es eine Suche, die es finden wird? Könnten wir etwas hinzufügen (ich weiß nicht mehr, wie es heißt), damit es bei einigen Wörtern automatisch verlinkt, wie es die Standardinstallation tut (aber ich kann mir keine Wörter dafür ausdenken).
Als jemand, der diese Themen mehrmals pro Woche verlinkt, stimme ich irgendwie zu ![]()
Vielleicht hilft es der Suchfunktion, wenn „S3-Klone“ in den Hauptbeitrag aufgenommen werden?
Ich habe festgestellt, dass „S3-kompatibel“ häufiger vorkommt, weshalb ich ihn bei einer allgemeinen Aktualisierung von Dokumentationstiteln geändert habe, zum Beispiel: AWS S3 Compatible Object Storage | MinIO
Ich denke jedoch, dass der Vorschlag, andere Suchbegriffe in den Hauptbeitrag aufzunehmen, sinnvoll ist. (Ich habe ihn gerade in diesem hier hinzugefügt).
Scheint in Ordnung zu sein. Ich schätze, wir müssen uns mit der Zeit ändern. ![]()
Ja. Es ist wirklich nicht so schwer. Du schaffst das, @pfaffman!
Hallo, hat jemand Contabo Object Storage für S3-kompatible Uploads zum Laufen gebracht? Es scheint, dass beim Hochladen der Repository-Name in der URL vorangestellt wird.
Wenn Sie beispielsweise einen Bucket namens “community” haben, wird eine URL wie https://community.eu2.contabostorage.com erstellt.
Ich habe dieses Verhalten beispielsweise in Duplicati gefunden, aber es kann ausgeschlossen werden, dass der Bucket-Name im Domainnamen vorangestellt wird.
Ich wäre dankbar, wenn jemand die Lösung hätte, um diesen Objektspeicher nutzen zu können, da er sehr gute Preise hat.
Ich habe mehrere Tests durchgeführt, um die Domain als CNAME in meiner Domain von Cloudflare zu konfigurieren, um SSL bereitzustellen, aber für community.cdn.midominio.com wird das SSL-Zertifikat nicht mehr abgedeckt, da sie ein Wildcard verwenden, und wenn ich den Proxy von Cloudflare deaktiviere, beschwert er sich, weil das Zertifikat nicht korrekt ist.
Grüße,
Haben Sie versucht, die S3-CDN-Einstellung auf https://community.eu2.contabostorage.com zu setzen? IMO wird das funktionieren.
Existiert nicht, es ist der Contabo-Endpunkt eu2.contabostorage.com
Ja, aber wie lautet die endgültige URL einer Beispieldatei in einem Bucket?
Er meint, wenn Sie selbst eine Datei in den Bucket hochladen (mit welchem Tool auch immer Sie eine Datei hochladen können), welche URL würden Sie verwenden, um auf die Datei zuzugreifen?
https://eu2.contabostorage.com/9198f3bf2d6e43dd86fab037ebad3aee:comunidad/castopod-1.png
Die Struktur ist
Host: https://eu2.contabostorage.com/
Benutzer: 9198f3bf2d6e43dd86fab037ebad3aee
Bucket: comunidad
Datei: castopod-1.png
Das ist keine funktionierende URL. Aber ich schätze, sie könnte funktionieren, wenn Sie den Doppelpunkt durch einen Schrägstrich ersetzen?
Das ist nicht so, wie Sie es in Ihrem ersten Beitrag beschrieben haben, also kann er vielleicht jetzt einen anderen Vorschlag machen.
Versuchen Sie also, Folgendes festzulegen
DISCOURSE_S3_CDN_URL: "https://eu2.contabostorage.com/9198f3bf2d6e43dd86fab037ebad3aee:comunidad"
und bauen Sie neu.
Cloudflares R2 ist endlich öffentlich verfügbar (es hat anscheinend nur ein Jahr gedauert). (Hier ist die ursprüngliche Ankündigung: Announcing Cloudflare R2 Storage: Rapid and Reliable Object Storage, minus the egress fees)
Ich habe einen Bucket erstellt.
Ich habe einen Token erstellt, der Folgendes beinhaltet: „Bearbeiten: Bearbeitungszugriff auf alle Objekte und List-, Schreib- und Löschvorgänge aller Buckets zulassen“
Hier ist, was ich versucht habe:
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: auto
DISCOURSE_S3_ACCESS_KEY_ID: redacted
DISCOURSE_S3_SECRET_ACCESS_KEY: redacted
DISCOURSE_S3_CDN_URL: https://pub-72eaa03782c542edbe00598fd1666be1.r2.dev
DISCOURSE_S3_BUCKET: lc-testing
DISCOURSE_S3_BACKUP_BUCKET: lc-testing/backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_ENDPOINT: https://cb46accbfcc3db1bdbba2bce07f8b509.r2.cloudflarestorage.com
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_CONFIGURE_TOMBSTONE_POLICY: false
FORCE_S3_UPLOADS: 1
Aber das Hochladen von Assets schlägt mit Folgendem fehl:
Aws::S3::Errors::NotImplemented: Header 'x-amz-acl' with value 'public-read' not implemented
Und dann erinnerte ich mich, den Bucket wie unter Public buckets · Cloudflare R2 docs beschrieben öffentlich zu machen.
Aber es funktionierte immer noch nicht.
S3 API compatibility · Cloudflare R2 docs zeigt, dass x-amz-acl nicht implementiert ist.
Wenn man sich den Discourse-Code ansieht, ist mir nicht klar, ob es möglich ist, R2 ohne Änderungen am Kern zum Laufen zu bringen.
Nachdem ich das Hochladen deaktiviert hatte, funktionierten Backups, sodass R2 eine sehr günstige Möglichkeit zu sein scheint, S3-Backups zu haben. Aber da ich diesen Bucket öffentlich gemacht hatte, war das Backup auch öffentlich (wenn man den Dateinamen erraten kann). Wenn dies also geklärt wird, möchten Sie separate Buckets für Backups und Uploads haben.
Ich habe diese Zeile entfernt und konnte sehen, dass eine Datei hochgeladen wurde und ich sie über eine benutzerdefinierte Domain als s3_cdn_url darauf zugreifen konnte. (Und eine ähnliche Bearbeitung der S3-Rake-Aufgabe ermöglicht das Hochladen von Assets.)
Also fügen wir sie vorerst als nicht kompatibel in den OP ein, bis sie objektbezogene ACLs implementieren. Danke, dass du es ausprobiert hast!
Ja. Die erforderlichen Änderungen am Kern, um das Überspringen des ACL-Setzens zu ermöglichen, scheinen ziemlich knifflig zu sein. Man könnte sagen, dass es nur für Backups in Ordnung ist. Wenn Sie keine Umstände machen, um den Bucket öffentlich zu machen, sollte es in Ordnung sein.
Ich habe R2 gerade getestet, aber es scheint, dass sie unsere “Content-Encoding”-Informationen nicht respektieren, obwohl ihre Dokumentation besagt, dass sie es tun werden. Vielleicht ist es in einem Jahr nutzbar.
Dies benötigt eine Warnmeldung, die den MinIO- oder allgemeinen Abschnitten hinzugefügt wird. Wir benötigen hier einen Hinweis, dass „Discourse den DNS-Modus für Pfade auf S3-kompatiblen Speichersystemen verwendet. Wenn das Backend nur den Pfadmodus und nicht den DNS-Modus für Bucket-Pfade unterstützt, ist es nicht mit Discourse kompatibel.“ Deshalb war MinIO ursprünglich nicht auf der Liste und wurde später hinzugefügt.
Ich benötige auch die Aktualisierung des Abschnitts „MinIO Storage Server“ – ich benötige, dass die Einschränkung Nr. 2 Folgendes besagt:
- Sie haben die Domain-Unterstützung in der MinIO-Konfiguration für domänengesteuerte Bucket-Pfade aktiviert. Dies ist zwingend erforderlich, da Discourse keine Bucket-Pfade unterstützt, die nicht domänengesteuert sind, mit S3-Speichermechanismen.
EDIT: Sieht so aus, als hätte ich mit diesem Beitrag den Mitgliedsstatus (Vertrauensstufe 2) erhalten, sodass ich den Wiki-Beitrag jetzt bearbeiten konnte. Es sind keine Maßnahmen von den Moderatoren erforderlich, auch wenn ich sie gebeten habe, die Bearbeitungen vorzunehmen.
Großartig! Vielen Dank für deine Hilfe, die Dinge auf dem neuesten Stand zu halten. Das sieht nach einer Warnung aus, mit der ich gerne leben würde.
![]()


