Digital Ocean Spaces (S3) „Anfrage kann nicht ohne gesetzte Anmeldeinformationen signiert werden“

Das hat schließlich funktioniert:

Diese Einstellungen mussten in der app.yml-Konfiguration vorhanden sein, damit die Rakes korrekt ausgeführt werden konnten. Wenn sie sich nur im Bereich /admin/site_settings/ befanden, wurden die Rakes nicht korrekt ausgeführt. Ich erhielt eine Fehlermeldung:

FEHLER: Stellen Sie sicher, dass S3 in config/discourse.conf oder Umgebungsvariablen konfiguriert ist

Die Einstellungen stammen von hier… Configure an S3 compatible object storage provider for uploads

Insbesondere habe ich nicht benutzerdefinierte Spaces-Einstellungen mit zwei Leerzeichen vor jeder Zeile verwendet. …

DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: whatever
DISCOURSE_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com
DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
DISCOURSE_S3_CDN_URL: https://nyc3.cdn.digitaloceanspaces.com
DISCOURSE_S3_BUCKET: my-files
DISCOURSE_S3_BACKUP_BUCKET: my-files/my-backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false

HINWEIS: DISCOURSE_S3_REGION sollte buchstäblich „whatever“ lauten und nicht etwas, das als tatsächliche S3-Region interpretiert werden könnte (d. h. us-west-1).

Auch diese Einstellungen im Abschnitt hooks des Bereichs ## Plugins go here

after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets

Hier hatte ich letztes Mal ein Problem. Sobald das eingerichtet war und ich neu erstellt hatte, erhielt ich diesen Ladebildschirm, wenn ich versuchte, unser Forum in einem Browser zu öffnen.

Dies liegt nur daran, dass nach Assets gesucht wird, die noch nicht aktualisiert wurden. Hier ist es Zeit, die Rakes auszuführen, von innerhalb der App…

./launcher enter app

rake s3:upload_assets

Sobald dies ausgeführt wurde, sprang die Anzahl der Elemente nach oben und ein „assets“-Ordner erschien in unserem Bucket…

Dann begann das Forum korrekt zu laden. Dies sind die einzigen S3-bezogenen Einstellungen, die ich in meinem /admin/site_settings-Bereich sehe…

Ich habe dies ausgeführt, um alle Dateien hochzuladen, und es hat die URLs vom alten Pfad auf den neuen (Nicht-CDN) aktualisiert.

rake uploads:migrate_to_s3 --trace

Die Anzahl der Elemente hat sich danach mehr als verdreifacht.

Das Einzige, was mir auffiel, war, dass alte Beitragsbildpfade die S3 ENDPOINT URL verwendeten, während neu gepostete Bilder den S3 CDN URL-Pfad verwendeten.

https:/my-storage.sfo3.digitaloceanspaces.com/
vs
https:/my-storage.sfo3.cdn.digitaloceanspaces.com/

Es war mir egal, denn zumindest wurde alles über S3 abgewickelt.

Aber ich habe versucht, Folgendes auszuführen…

rake posts:rebake

image

Es hat es lahmgelegt, weil der Speicher knapp wurde. Ich habe stattdessen versucht, Folgendes auszuführen…

rake posts:rebake_uncooked_posts

Es lief ein paar Mal der Speicher aus und startete sich neu, dann lief der Speicher wieder aus. Ich habe es noch einmal ausgeführt. Schließlich hat es alle durchgekocht.

Sobald es vollständig bis 100 % durchgelaufen war, verwendeten alle Links endlich den S3 CDN URL-Pfad, alte und neue Beiträge. Über 34062 Elemente bei 65,9 GB Speicherplatz (ein Backup ist <9 GB).

Wirklich froh, dass jetzt alles über S3 läuft, einschließlich Backups. Apropos, wahrscheinlich ein guter Zeitpunkt, eines auszuführen!

Ich hoffe, das hilft jemandem.

Viel Glück!

1 „Gefällt mir“