¿Por qué mis archivos adjuntos de Qiniu Cloud S3 no se cargan en el foro después de subirse con éxito?

Se ha subido con éxito al almacenamiento en la nube del proveedor Qiniu Cloud, y el enlace cargado es: https://img.i4ta.com/original/1X/5be788f6a5e3d0efa278e1e87b6c6ca6be2ce4cf.mp4. Al abrirlo en el navegador, aparece el siguiente mensaje:

{
error: "download token not specified"
}

Video cargado en el tema:


<video width="100%" height="100%" preload="metadata" controls="" style="display:none">
          <source src="https://img.i4ta.com/original/1X/5be788f6a5e3d0efa278e1e87b6c6ca6be2ce4cf.mp4">
          <a href="https://img.i4ta.com/original/1X/5be788f6a5e3d0efa278e1e87b6c6ca6be2ce4cf.mp4">https://img.i4ta.com/original/1X/5be788f6a5e3d0efa278e1e87b6c6ca6be2ce4cf.mp4</a>
        </video>

¿Es que no se está utilizando la autenticación de bucket privado? Pero no sé dónde se puede configurar. ¿Hay algún experto que sepa cómo solucionarlo?

¿Has leído este tema?

No sé nada sobre Qiniu Cloud o si su almacenamiento S3 es compatible, pero necesitarás una clave de acceso y un token (creo que se generan en tu consola de Qiniu Cloud). Si es posible, la configuración de tu archivo app.yml probablemente debería verse algo como este ejemplo:

## Almacenamiento S3
  DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: el que sea
  DISCOURSE_S3_ENDPOINT: http://s3-ap-southeast-1.qiniucs.com
  DISCOURSE_S3_ACCESS_KEY_ID: *************
  DISCOURSE_S3_SECRET_ACCESS_KEY: *****************
  DISCOURSE_S3_CDN_URL: http://qiniu.pengfeima.cn
  DISCOURSE_S3_BUCKET: qiniu-s3
  DISCOURSE_S3_BACKUP_BUCKET: qiniu-s3/backups
  DISCOURSE_BACKUP_LOCATION: s3
1 me gusta

De hecho, https://img.i4ta.com/original/1X/5be788f6a5e3d0efa278e1e87b6c6ca6be2ce4cf.mp4 da ese error. Tendrás que consultar en algún sitio donde la gente sepa sobre tu configuración de i4ta. Estoy bastante seguro de que tiene que ver con la configuración allí.

Sí, lo instalé a través de docker-compose, configuré ak y sk en el backend de Discourse y pude subir archivos con éxito. Simplemente no puedo verlos. Revisé todas las configuraciones posibles y no encontré dónde configurar para que el enlace CDN incluya el token. Como este almacenamiento es privado, debe incluir el token. ¿Hay algún otro lugar además de la configuración que mencionaste anteriormente?


Mi configuración es la siguiente, ¿es correcta? ¿Necesito alguna otra configuración relacionada?

Si tu bucket de S3 es privado, necesitas habilitar la opción Cargas seguras (Secure uploads), de lo contrario, Discourse no intentará firmar los enlaces de los adjuntos.

Después de cambiar esta configuración, debes volver a hornear (rebake) la publicación para que surta efecto.

1 me gusta