dirien
(Engin Diri)
14 Giugno 2021, 5:45am
1
Ciao a tutti,
abbiamo riscontrato un problema strano.
La nostra configurazione:
Discourse: 2.8.0.beta2
S3: Minio
CDN: Myra
S3 è configurato come segue:
root@assets-prod-app01:~# sudo -u minio mc admin policy info minio readwrite-discourse
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucketMultipartUploads",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::discourse"
]
},
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::discourse/*"
]
}
]
}
Tuttavia, ogni volta che proviamo a modificare qualcosa, otteniamo il seguente messaggio di errore:
Nei file di log troviamo:
Aws::S3::Errors::NotImplemented (A header you provided implies functionality that is not implemented)
lib/file_store/s3_store.rb:279:in `update_ACL'
lib/file_store/s3_store.rb:209:in `update_upload_ACL'
...
C’è una configurazione che non abbiamo considerato, oppure Minio non è compatibile con Discourse?
Qualsiasi suggerimento sarebbe apprezzato, poiché stiamo iniziando a ricevere pressioni dai nostri utenti
Grazie in anticipo
dirien
(Engin Diri)
22 Giugno 2021, 4:24am
2
È così insolita questa impostazione?
Apprezzerei qualche indicazione su cosa approfondire o cosa modificare? @Falco Al momento siamo un po’ bloccati…
Falco
(Falco)
22 Giugno 2021, 4:55pm
3
Hai attivato l’impostazione del sito secure_uploads? Non funzionerà affatto con MinIO.
Falco
(Falco)
22 Giugno 2021, 9:01pm
5
L’impostazione S3 è configurata come descritto nella documentazione su Utilizzo dell’archiviazione oggetti per i caricamenti (S3 e cloni) ?
dirien
(Engin Diri)
23 Giugno 2021, 4:44am
6
Sì, proprio lettera per lettera
dirien
(Engin Diri)
1 Luglio 2021, 5:03am
7
Scusa il disturbo, ma riesci a vedere qualcosa?
dirien
(Engin Diri)
8 Luglio 2021, 5:32am
8
Ciao, hai qualche idea? Scusa per il disturbo…
Ehi,
Oggi ho aggiornato alla versione 2.8.0.beta2, stesso errore:
basta selezionare secure_media, Minio funziona di nuovo.
Falco
(Falco)
8 Luglio 2021, 3:50pm
10
@pmusaraj / @martin sembra una regressione causata da
master ← issue/update-upload-secure-status-on-post-revision
merged 03:32AM - 21 May 21 UTC
When uploads are created from the composer (editing or creating a post),
for si… tes with secure uploads enabled we assume security by default and
that new upload is set to secure. When the post is created, we then
check whether the post uploads _actually_ need to be secure and adjust
accordingly.
We were not doing this when revising a post, so when a new upload was
created when editing a post in a public topic, the secure status stayed
true erroneously causing issues with image previews, among other things.
che non ha tenuto conto delle stesse problematiche già risolte da
committed 04:20PM - 25 Nov 19 UTC
In `post_creator`, the ACL update is only necessary when uploads need to be secu… red.
This should fix a regression with S3 clones that do not support updating ACLs.
Quindi post_creator fa:
e models/post:
"topic_tag_changed.added_and_removed",
added: tag_list_to_raw(added),
removed: tag_list_to_raw(removed),
)
elsif added.present?
I18n.t("topic_tag_changed.added", added: tag_list_to_raw(added))
elsif removed.present?
I18n.t("topic_tag_changed.removed", removed: tag_list_to_raw(removed))
end
end
def self.tag_list_to_raw(tag_list)
tag_list.sort.map { |tag_name| "##{tag_name}" }.join(", ")
end
# Revises a post with the given fields and options.
#
# @param editor [User] The user performing the revision
# @param fields [Hash] Hash of fields to update
# @param opts [Hash] Optional parameters for the revision
# @option opts [Time] :revised_at Changes the date of the revision
1 Mi Piace
martin
(Martin Brennan)
9 Luglio 2021, 12:18am
12
È già stata implementata una correzione per questo motivo di prestazioni, che dovrebbe risolvere anche il tuo problema:
committed 04:15PM - 21 Jun 21 UTC
When secure uploads are enabled, editing a post with many uploads can
cause a t… imeout because the store has to be contacted for each upload.
Anche se intendo apportare una correzione al job in modo che esiti anticipatamente se i media sicuri sono disabilitati.
In realtà, non posso fare quanto sopra perché vogliamo che i caricamenti dei post siano contrassegnati come non sicuri se i media sicuri sono disabilitati o se il post è stato spostato in una categoria diversa. Invece, aggiungerò una correzione per catturare l’errore Aws::S3::Errors::NotImplemented quando eseguiamo Discourse.store.update_upload_ACL(self). In questo modo, i client che non supportano gli ACL privati non dovrebbero avere problemi.
Modifica: Ho unito questa correzione oggi, speriamo che possa essere d’aiuto FIX: Handle storage providers not implementing ACLs by martin-brennan · Pull Request #13675 · discourse/discourse · GitHub . Penso che lanceremo una nuova beta la prossima settimana.
3 Mi Piace
Falco
(Falco)
Chiuso
12 Luglio 2021, 11:00am
13
Questo argomento è stato chiuso automaticamente dopo 3 giorni. Non sono più ammesse nuove risposte.