dirien
(Engin Diri)
14 Junio, 2021 05:45
1
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
Gracias de antemano.
dirien
(Engin Diri)
22 Junio, 2021 04:24
2
¿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…
Falco
(Falco)
22 Junio, 2021 16:55
3
¿Habilitaste la configuración del sitio secure_uploads? Eso no funcionará en absoluto con MinIO.
Falco
(Falco)
22 Junio, 2021 21:01
5
¿Está configurada la instalación de S3 según la documentación en Uso de almacenamiento de objetos para cargas (S3 y clones) ?
dirien
(Engin Diri)
23 Junio, 2021 04:44
6
Sí, realmente letra por letra
dirien
(Engin Diri)
1 Julio, 2021 05:03
7
Perdona la molestia, pero ¿podrías echar un vistazo?
dirien
(Engin Diri)
8 Julio, 2021 05:32
8
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.
Falco
(Falco)
8 Julio, 2021 15:50
10
@pmusaraj / @martin parece ser una regresión causada por
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.
que no tuvo en cuenta los mismos aspectos que se solucionaron en
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.
Por lo tanto, post_creator realiza:
y models/post:
# 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
# @option opts [Boolean] :force_new_version Bypass grace period edit window
# @option opts [Boolean] :bypass_rate_limiter Bypass the max limits per day rate limiter
# @option opts [Boolean] :bypass_bump Do not bump the topic. Takes precedence over should_bump_topic plugin modifier, and any other should_bump? logic
# @option opts [Boolean] :skip_validations Ask ActiveRecord to skip validations
# @option opts [Boolean] :skip_revision Do not create a new PostRevision record
# @option opts [Boolean] :skip_staff_log Skip creating an entry in the staff action log
# @option opts [Boolean] :silent Don't send notifications to user
# @return [Boolean] Returns true if the revision was successful, false otherwise
def revise!(editor, fields, opts = {})
@editor = editor
@fields = fields.with_indifferent_access
@opts = opts
@topic_changes = TopicChanges.new(@topic, editor)
1 me gusta
martin
(Martin Brennan)
9 Julio, 2021 00:18
12
Ya se había aplicado una corrección por motivos de rendimiento, la cual también debería resolver tu 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.
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
Falco
(Falco)
Cerrado
12 Julio, 2021 11:00
13
Este tema se cerró automáticamente después de 3 días. Ya no se permiten nuevas respuestas.