J’ai récemment migré mon forum d’un serveur vers un autre. La version actuelle est la 2.6.0.beta2. Tout le reste fonctionne correctement, cependant, les images précédemment téléchargées ne sont pas visibles et les utilisateurs ne peuvent pas télécharger de nouvelles images. De plus, les utilisateurs ne peuvent pas mettre à jour leurs photos de profil.
J’ai essayé plusieurs solutions mentionnées sur ce forum, mais aucune ne semblait fonctionner pour moi. J’ai besoin d’aide !
Je n’ai jamais utilisé S3 sur ce serveur, même pour des tests.
J’ai dû changer de serveur car je souhaitais modifier la région. Le nouveau serveur est identique à l’ancien à tous égards, sauf pour la région. J’utilisais le CDN Cloudfront, mais après la migration, j’ai invalidé l’intégralité du cache.
Je constate que les anciennes images sont disponibles sur le nouveau serveur, car elles ont été incluses dans la sauvegarde, mais ce problème persiste tout de même.
Oui, tout était identique sur les deux serveurs. J’ai suivi les étapes appropriées pour la migration et j’ai également vérifié les problèmes rencontrés par d’autres utilisateurs lors de la migration.
Le problème ne se limite pas à l’impossibilité de voir les anciennes images ; les utilisateurs ne peuvent pas non plus télécharger de nouvelles images. Je suppose qu’il s’agit d’un problème lié à un pilote d’image (désolé pour cette hypothèse vague).
Bon, pour récapituler, votre ancien serveur était sur une installation standard. Vous avez réinstallé sur un système configuré de la même manière et restauré la sauvegarde.
Si vous examinez le code source d’une page, à quoi ressemblent les URL des images ? Comment cela se compare-t-il aux fichiers dans /var/discourse/standalone/web-only/uploads/default ?
Que se passe-t-il si vous essayez d’ouvrir un lien d’image directement ?
L’une de ces installations était-elle en deux conteneurs ?
Je reclasse ce sujet de bug à Support car il n’y a pas encore d’étapes claires pour reproduire le problème. Une fois que nous aurons identifié la cause racine, il pourra être signalé comme un bug, mais ce n’est pas le cas pour le moment.
Il semble que les images de mon forum soient téléchargées dans /var/discourse/shared/standalone/uploads/default/optimized/1X. De nombreuses images sont stockées avec plusieurs résolutions, mais le nom du fichier image sur le forum et dans le répertoire ne sont pas identiques.
Je reçois un code 404 pour https://forumcdn.domain.com/uploads/default/optimized/1X/55cfd1bf40edcb3ac19d3e412a5ad63f93c0a854_2_225x250.png, mais lorsque je remplace le nom du fichier image par un nom de fichier du répertoire, cela fonctionne. Tous les fichiers image sont intacts et peuvent être consultés lorsqu’ils sont ouverts directement ; ce sont simplement les noms de fichiers sur le forum qui sont différents.
L’option « Inclure les miniatures dans les sauvegardes » est-elle activée sur l’instance source ?
Si non :
Inclure les miniatures générées dans les sauvegardes. La désactivation de cette option réduira la taille des sauvegardes, mais nécessitera une régénération de tous les messages après une restauration.
Cela signifie que vous devrez exécuter rake posts:rebake.
L’option include thumbnails in backups était désactivée sur l’instance source. Je viens d’exécuter rake posts:rebake à l’intérieur du conteneur Discourse et j’ai obtenu le résultat suivant :
root@vps-app:/var/www/discourse# rake posts:rebake
Rebaking post markdown for 'default'
628 / 628 (100.0%)
628 posts done!
Pour être absolument certain, j’ai invalidé le cache du CDN, mais je ne parviens toujours pas à afficher les images. De plus, je ne peux pas télécharger d’images, donc je doute que cette solution résolve ce problème.