No se pueden editar temas con imágenes con el backend S3

Hola a todos,

nos hemos encontrado con un problema extraño.

Nuestra configuración:

  • Discourse: 2.8.0.beta2
  • S3: Minio
  • CDN: Myra

S3 está configurado de la siguiente manera:

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/*"
   ]
  }
 ]
}

Sin embargo, cada vez que editamos algo, recibimos el siguiente mensaje de error:

En los archivos de registro obtenemos:

Aws::S3::Errors::NotImplemented (Un encabezado que proporcionaste implica una funcionalidad que no está implementada)
lib/file_store/s3_store.rb:279:in `update_ACL'
lib/file_store/s3_store.rb:209:in `update_upload_ACL'
...

¿Hay alguna configuración que no hayamos considerado, o Minio no es compatible con Discourse?

Cualquier indicación sería muy bienvenida, ya que estamos recibiendo cierta presión por parte de nuestros usuarios :frowning:

Gracias de antemano.

¿Es tan poco común esta configuración?

Agradecería alguna orientación sobre qué revisar con más detalle o qué cambiar. @Falco, en este momento estamos bastante atascados… :frowning:

¿Habilitaste la configuración del sitio secure_uploads? Eso no funcionará en absoluto con MinIO.

Hola @Falco,

desafortunadamente no…

¿Está configurada la instalación de S3 según la documentación en Uso de almacenamiento de objetos para cargas (S3 y clones)?

Sí, realmente letra por letra :slight_smile:

Perdona la molestia, pero ¿podrías echar un vistazo?

Hola, ¿tienes alguna idea? Perdona por molestar…

Hola,

Hoy actualicé a la versión 2.8.0.beta2 y tengo el mismo error:


Simplemente selecciona secure_media y MinIO vuelve a funcionar.

image

@pmusaraj / @martin parece ser una regresión causada por

que no tuvo en cuenta los mismos aspectos que se solucionaron en

Por lo tanto, post_creator realiza:

y models/post:

1 me gusta

Ya se había aplicado una corrección por motivos de rendimiento, la cual también debería resolver tu problema:

Aunque planeaba realizar una corrección en el trabajo para que termine anticipadamente si los medios seguros están desactivados.

En realidad, no puedo hacer lo anterior, ya que queremos que las cargas de publicaciones se marquen como no seguras si los medios seguros están desactivados o si la publicación se ha movido a otra categoría. En su lugar, agregaré una corrección para capturar el error Aws::S3::Errors::NotImplemented cuando ejecutemos Discourse.store.update_upload_ACL(self). De esta manera, los clientes que no admiten los ACL privados no deberían tener problemas.

Edición: Fusioné esta corrección hoy; espero que ayude. FIX: Handle storage providers not implementing ACLs by martin-brennan · Pull Request #13675 · discourse/discourse · GitHub. Creo que también lanzaremos una nueva beta la próxima semana.

3 Me gusta

Este tema se cerró automáticamente después de 3 días. Ya no se permiten nuevas respuestas.