Impossibile modificare argomenti con immagini con backend S3

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 :frowning:

Grazie in anticipo

È così insolita questa impostazione?

Apprezzerei qualche indicazione su cosa approfondire o cosa modificare? @Falco Al momento siamo un po’ bloccati… :frowning:

Hai attivato l’impostazione del sito secure_uploads? Non funzionerà affatto con MinIO.

Ciao @Falco,

purtroppo no…

L’impostazione S3 è configurata come descritto nella documentazione su Utilizzo dell’archiviazione oggetti per i caricamenti (S3 e cloni)?

Sì, proprio lettera per lettera :slight_smile:

Scusa il disturbo, ma riesci a vedere qualcosa?

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.

image

@pmusaraj / @martin sembra una regressione causata da

che non ha tenuto conto delle stesse problematiche già risolte da

Quindi post_creator fa:

e models/post:

1 Mi Piace

È già stata implementata una correzione per questo motivo di prestazioni, che dovrebbe risolvere anche il tuo problema:

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

Questo argomento è stato chiuso automaticamente dopo 3 giorni. Non sono più ammesse nuove risposte.