Bild-Upload-Fehler: Der Bucket erlaubt keine ACLs

Benutzer und sogar Administratoren können keine Bilder mehr hochladen.
Das Fehlerprotokoll besagt “hotlink error”.
4MB Limit, aber ich habe versucht, eine 800KB-Datei als Test hochzuladen, nachdem sich ein Benutzer beschwert hatte.

Wir haben vor ein paar Tagen ein Update durchgeführt (2.9.0.beta4).
Wir haben kürzlich S3-Buckets eingerichtet.

Ich habe eine kürzliche Korrektur auf GitHub vor 15 Tagen für Hotlinking bemerkt.
Ich kann keine Probleme auf GitHub erstellen. Ist dies der richtige Ort, um Fehler zu melden?

Nachricht (2 Kopien gemeldet)

standard: Hotlinked-Bild konnte nicht abgerufen werden (https://jackrail.space/images/discourse-logo-sketch-small.png) Beitrag: 586
Der Bucket erlaubt keine ACLs
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/seahorse/client/plugins/raise_response_errors.rb:17:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/sse_cpk.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/dualstack.rb:36:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/accelerate.rb:50:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:22:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/aws-sdk-core/plugins/idempotency_token.rb:19:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/aws-sdk-core/plugins/param_converter.rb:26:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/seahorse/client/plugins/request_callback.rb:71:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/aws-sdk-core/plugins/response_paging.rb:12:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/seahorse/client/plugins/response_target.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/seahorse/client/request.rb:72:in `send_request'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/client.rb:11274:in `put_object'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/object.rb:1329:in `put'
/var/www/discourse/lib/s3_helper.rb:74:in `upload'
/var/www/discourse/lib/file_store/s3_store.rb:116:in `store_file'
/var/www/discourse/lib/file_store/s3_store.rb:30:in `store_upload'
/var/www/discourse/lib/upload_creator.rb:212:in `block (2 levels) in cr...

Backtrace

/var/www/discourse/app/jobs/regular/pull_hotlinked_images.rb:243:in `public_send'
/var/www/discourse/app/jobs/regular/pull_hotlinked_images.rb:243:in `log'
/var/www/discourse/app/jobs/regular/pull_hotlinked_images.rb:58:in `rescue in block in execute'
/var/www/discourse/app/jobs/regular/pull_hotlinked_images.rb:35:in `block in execute'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/nokogiri-1.13.4-x86_64-linux/lib/nokogiri/xml/node_set.rb:234:in `block in each'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/nokogiri-1.13.4-x86_64-linux/lib/nokogiri/xml/node_set.rb:233:in `upto'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/nokogiri-1.13.4-x86_64-linux/lib/nokogiri/xml/node_set.rb:233:in `each'
/var/www/discourse/app/jobs/regular/pull_hotlinked_images.rb:34:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:80:in `with_connection'

Ich glaube, ich habe es behoben, aber ich bin mir nicht sicher, was diese Funktion tut oder ob sie meine S3-Backups deaktiviert.
„S3-Uploads aktivieren“
Ich habe dies aktiviert, da ich dachte, es sei Teil des Backup-Verfahrens.
Ich habe dies deaktiviert und erhalte diese Fehlermeldung nicht mehr, wenn ich ein Testbild hochlade.

Diese Einstellung platziert Ihre Uploads im S3-Bucket und ist getrennt von den Uploads. Es scheint, dass dieser Bucket nicht ordnungsgemäß für Uploads kodiert ist (siehe Objektspeicher für Uploads verwenden (S3 & Klone) für Informationen).\n\nSie sollten trotzdem überprüfen, ob Ihre Backups funktionieren.

1 „Gefällt mir“

Ich vermute, das war das Problem, und es wurde von dem Benutzer, der sich beschwert hat, als behoben bestätigt.

Ich bin mir nicht sicher, was dieser Upload von Bildern bewirkt, aber ich vermute, es ist eine Zusatzfunktion, die komplexe Server benötigen könnten. Ich vermute, unsere 40 Benutzer benötigen kein Discourse mit dieser komplexen Funktion. Wir sind mehr an Emoji-Likes interessiert.

Als ich jedoch die S3-Anweisungen befolgte, musste ich zurückgehen und einen neuen Bucket für „Backups“ erstellen, während der ursprüngliche für Uploads bestimmt war (weil ich sie in der Reihenfolge vornahm, wie sie für die Einstellungen erschienen). Ich denke, ich werde wahrscheinlich weitere Informationen zu den S3-Anweisungen als Antwort hinzufügen, um anderen die Befolgung zu erleichtern. Außerdem gab es die in diesem Hilfe-Thread aufgeführte Berechtigungsrichtlinie nicht, und ich fand schließlich eine „*“-Lösung von einer anderen Website. Ich werde versuchen, dies in diesem Thread zu klären. Es funktionierte, erforderte aber Arbeit und Anpassungen der Anweisungen.

Diese Aktionen funktionierten nicht. Ich habe stattdessen „*“ verwendet.

„Aktion“: [
„s3:ListAllMyBuckets“,
„s3:HeadBucket“
],

Der Thread, den ich zur Konfiguration und Befolgung der Anweisungen verwendet habe, ist hier.

Auch dort ist „S3-Uploads aktivieren“ als aktiviert markiert. Es scheint, als ob Dinge für den durchschnittlichen Benutzer zu kompliziert gemacht werden.
Andererseits hoffe ich, dass meine Backups ohne diese Funktion ordnungsgemäß funktionieren.

Warum hast du stattdessen * verwendet?

Ich habe es beim Googeln irgendwo gefunden, nur damit der Code akzeptiert wird. Wenn Sie sich meinen Beitrag ansehen, den Sie zitieren, habe ich den Link angegeben. Ich google und kopiere und füge meistens ein. :slight_smile:
Ich habe jedoch später festgestellt, dass Bild-Uploads nicht notwendig waren, damit Backups funktionieren. Ich weiß immer noch nicht, warum man es benutzen sollte. Sie brauchen wirklich nur das Backup. Sie brauchen keine zwei Buckets. Ich habe diesen Teil in den Einstellungen deaktiviert, da ich immer noch Upload-Fehler hatte und Bilder von den Benutzern nicht erlaubt waren. Das Deaktivieren dieses Elements hat es behoben. Wir haben eine kleine Servergruppe, daher sollte es noch lange gut gehen.