No se pueden ver ni cargar imágenes

Recientemente migré mi foro de un servidor a otro. La versión actual es 2.6.0.beta2. Todo lo demás funciona correctamente, sin embargo, las imágenes cargadas anteriormente no son visibles y los usuarios no pueden subir nuevas imágenes. Además, los usuarios no pueden actualizar sus fotos de perfil.

Probé algunas de las soluciones mencionadas en este foro, pero ninguna pareció funcionar para mí. ¡Necesito ayuda!

1 me gusta

¿Estabas utilizando previamente S3 o algún almacenamiento compatible con S3 similar?

¿Qué motivó el cambio? ¿En qué se diferencian los servidores y cómo se construyó el nuevo servidor?

2 Me gusta

Nunca he utilizado S3 en este servidor, ni siquiera para pruebas.

Tuve que cambiar el servidor porque quería cambiar la región. El nuevo servidor es idéntico al antiguo en todos los aspectos, excepto en la región. Estaba utilizando CloudFront CDN, pero después de la migración invalidé la caché completa.

Puedo ver que las imágenes antiguas están disponibles en el nuevo servidor, ya que se incluyeron en la copia de seguridad, pero aún así tengo este problema.

¿Actualizaste la instancia antigua al mismo nivel antes de realizar/restaurar la copia de seguridad?

Sí, todo era idéntico en ambos servidores. Seguí los pasos adecuados para la migración y también revisé los problemas que otros usuarios enfrentaron durante el proceso.

El problema no es solo que no puedo ver las imágenes antiguas; los usuarios tampoco pueden subir imágenes nuevas. Supongo que se trata de un problema con algún controlador de imágenes (perdón por la suposición vaga).

¿Y esto es usando la instalación estándar?

Sí, con los pasos mencionados en discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Ok, para resumir: tu servidor anterior estaba en una instalación estándar. Has reinstalado en un sistema construido de la misma manera y restaurado la copia de seguridad.

Si revisas el código fuente de una página, ¿cómo se ven las URLs de las imágenes? ¿Cómo se comparan con las subidas en /var/discourse/standalone/web-only/uploads/default?

¿Qué sucede si intentas abrir un enlace de imagen directamente?

¿Fue alguna de estas instalaciones de dos contenedores?

Cambiando la categoría de bug a Support porque no hay pasos claros para reproducir el problema. Una vez que podamos identificar la causa raíz, podría ser necesario registrar un error, pero por ahora no es el caso.

Parece que las imágenes de mi foro se suben en /var/discourse/shared/standalone/uploads/default/optimized/1X. Hay muchas imágenes almacenadas con múltiples resoluciones, sin embargo, el nombre del archivo de imagen en el foro y en el directorio no es el mismo.

Recibo un código 404 para https://forumcdn.domain.com/uploads/default/optimized/1X/55cfd1bf40edcb3ac19d3e412a5ad63f93c0a854_2_225x250.png, pero cuando reemplazo el nombre del archivo de imagen con un nombre de archivo del directorio, funciona. Todos los archivos de imagen están intactos y se pueden ver cuando se abren directamente; simplemente los nombres de archivo en el foro son diferentes.

¿Está habilitada la opción Incluir miniaturas en las copias de seguridad en la instancia de origen?

Si no:

Incluir miniaturas generadas en las copias de seguridad. Desactivar esta opción reducirá el tamaño de las copias de seguridad, pero requerirá regenerar todos los mensajes después de una restauración.

Lo que significa que necesitarás ejecutar rake posts:rebake.

1 me gusta

Incluir miniaturas en las copias de seguridad estaba deshabilitado en la instancia de origen. Acabo de ejecutar rake posts:rebake dentro del contenedor de Discourse y obtuve el siguiente resultado:

root@vps-app:/var/www/discourse# rake posts:rebake
Rehaciendo el markdown de las publicaciones para 'default'
      628 / 628 (100.0%)
¡628 publicaciones realizadas!

Para estar completamente seguro, invalidé la caché de la CDN, pero aún así no puedo ver ninguna imagen. Además, no puedo subir ninguna imagen, por lo que dudo de que esta solución pueda resolver ese problema.

1 me gusta