Subidas a S3 - ¿Usar CDN para PDFs?

Hola a todos:

Acabo de habilitar las cargas de S3 en mi instancia de Discourse, configurada con un CDN de Cloudfront. Acabo de probar a subir una imagen y un archivo PDF como adjuntos en las publicaciones y se cargan correctamente en el bucket de S3. Sin embargo, al inspeccionar la página donde se muestran ambos, veo que el PDF no utiliza el enlace del CDN, pero la imagen sí.

Para la imagen, el src de la etiqueta img apunta al CDN, que el navegador utiliza para cargar la miniatura.

Para el archivo PDF, el src del enlace apunta a una URL relativa (/uploads/short-url/xxxxxxxxxxxxx.pdf), que parece redirigir al archivo en mi bucket de S3 real (no al CDN).

¿Es esto lo esperado? Es la primera vez que utilizo un CDN, así que quizás uno no suele servir archivos más grandes a través de él. Solo quiero asegurarme de que tengo todos mis ajustes correctos y funcionando antes de migrar todas las publicaciones antiguas a S3.

¡Gracias!

4 Me gusta

Observación interesante, algo que no había notado antes.

Hice un par de pruebas.

Algunas cargas de PDF existentes enlazan directamente a la CDN:

Algunas cargas de PDF existentes no usan la CDN:

¿Cuál es la diferencia? :thinking:

No lo sé :man_shrugging: Tendría que revisar más ejemplos.

Intenté una prueba rápida enviándome un mensaje directo a mí mismo y una nueva publicación, muestra /short-url/ según tus detalles:

Al hacer clic en el enlace, se extrae directamente del bucket S3, nuevamente según tu descripción:

No estoy muy seguro de por qué algunas de nuestras publicaciones usan la CDN y otras no, pero puedo replicar parte de lo que estás viendo.

1 me gusta

Creo que necesitas volver a hornear las publicaciones. Las que se subieron antes de que agregaras la CDN no se actualizan automáticamente. Rebake all posts matching a pattern (podría ser más fácil simplemente volver a hornear todas).

1 me gusta

Gracias @pfaffman

Acabo de volver a procesar todas las publicaciones y no he encontrado ningún cambio. Después de volver a procesar, creé algunas publicaciones de prueba de nuevo. Para recapitular lo que estoy viendo (y parece lo que @Richie ve)

  • Una imagen en una publicación enlaza correctamente a la CDN para la imagen mostrada en línea en la publicación.
  • Para la imagen, sin embargo, el enlace de “descarga” (abajo a la derecha al ver la imagen a tamaño completo) enlaza a una URL corta, que redirige a mi bucket S3 (no a la CDN).
  • Para una carga de PDF, el enlace enlaza a una URL corta, que redirige a mi bucket S3 (no a la CDN).

Parece que cada vez que se utiliza una URL corta, la CDN no se utiliza en la redirección.

Para mi configuración de Discourse, estoy usando S3 tanto para cargas como para copias de seguridad. Todavía no he movido todas mis cargas existentes a S3 (lo haré una vez que supere este problema). Tampoco tengo activadas las cargas seguras.

¡Gracias!

4 Me gusta

Gracias por informar de esto, lo revisaremos la próxima semana y solucionaremos cualquier omisión de CDN que quede. Siempre debemos, siempre que sea posible, acceder a la CDN con la advertencia de que si tiene cargas seguras habilitadas, no podemos hacerlo fácilmente.

5 Me gusta

También he notado esto con otras cargas de archivos:

1 me gusta